栈
题意:
给你一个串,只有'('和')'.问至少转换多少个括号,使得这个串是括号匹配的,即没有交差的括号对
数据范围:
串的长度<=300000
思路:
栈的练习题,只是由于只有圆括号,因此直接记录栈的size,而无需一个实体栈
从左往右扫描串,如果是左括号就进栈,右括号就栈顶出栈.如果此时栈空,那么它就要变成左括号进栈了,记得更新答案
扫描完后可能剩了一些左括号,然后把一半变成右括号.注意如果是奇数个的话还要在最后加一个右括号
题意:
给你一个串,只有'('和')'.问至少转换多少个括号,使得这个串是括号匹配的,即没有交差的括号对
数据范围:
串的长度<=300000
思路:
栈的练习题,只是由于只有圆括号,因此直接记录栈的size,而无需一个实体栈
从左往右扫描串,如果是左括号就进栈,右括号就栈顶出栈.如果此时栈空,那么它就要变成左括号进栈了,记得更新答案
扫描完后可能剩了一些左括号,然后把一半变成右括号.注意如果是奇数个的话还要在最后加一个右括号
总结:维护栈的size,遇到右括号且栈空则变成左括号,左括号有剩则一半变成右括号