您的位置:首页 > 其它

【Leetcode】20. Valid Parentheses

2016-12-17 09:46 393 查看
思路:

(1)用栈存储所有的字符。

(2)遍历该字符串的所有字符。

(3)若是左括号,则入栈。

(4)若是右括号,分两种情况考虑:若栈非空,则出栈,比较左右括号是否对应;否则直接返回false。

(5)遍历完整个字符串后,若栈空,则满足条件,返回true;否则不满足条件,返回false。

public class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<Character>();
for(int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (ch == '{' || ch == '['|| ch =='(')
stack.push(ch);
else {
if (!stack.empty()) {
char c = stack.pop();
if (!(c == '{' && ch == '}' || c == '[' && ch == ']' || c == '(' && ch == ')'))
return false;
}
else
return false;
}
}
if (stack.empty())
return true;
else
return false;
}
}


Runtime:6ms
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: