题目 给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列。 样例 括号必须依照 "()"顺序表示, "()[]

题目
给定一个字符串所表示的括号序列,包含以下字符: ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, 判定是否是有效的括号序列。

样例
括号必须依照 “()”顺序表示, “()[]{}”是有效的括号,但 “([)]”则是无效的括号。

分析
显然需要用到栈,判断两个是否相匹配,用进站出站判断比较即可

作者:六尺帐篷
链接:https://www.jianshu.com/p/938558eadfc7
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
public class Solution {
public boolean isValid(String s) {
Stack stack = new Stack();
for (char c : s.toCharArray()) {
if (c == ‘(‘)
stack.push(‘)’);
else if (c == ‘{‘)
stack.push(‘}’);
else if (c == ‘[‘)
stack.push(‘]’);
else if (stack.isEmpty() || stack.pop() != c)
return false;
}
return stack.isEmpty();
}
}

作者:六尺帐篷
链接:https://www.jianshu.com/p/938558eadfc7
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(刷题,算法,leetcode)