通过万岁!!!
- 题目:给你一个字符串,然后看看这里面括号的最大深度。
- 思路:左括号++,右括号–。然后每次减之前,判断是不是最大的。这个题目的升级版就是括号匹配问题,需要用到栈。因为这里都是小括号。所以使用一个int变量来存储就行了。
- 技巧:无
伪代码
定义res和deep
遍历字符串
如果是左括号就deep++
如果是右括号,则先将deep和res比较,让res等于其中的较大值,然后deep--
return res即可
java代码
class Solution {
public int maxDepth(String s) {
int temp = 0, res = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '(') temp++;
if (s.charAt(i) == ')') {
res = res > temp ? res : temp;
temp--;
}
}
return res;
}
}
- 总结:这个就是括号匹配的简单版本。比较简单。