LeetCode20. Valid Parentheses
2017-04-08 14:41
531 查看
题目
Given a string containing just the characters'(',
')',
'{',
'}',
'['and
']',
determine if the input string is valid.
The brackets must close in the correct order,
"()"and
"()[]{}"are
all valid but
"(]"and
"([)]"are
not.
思路
设计一个栈数据结构,每当遇到左括号时候压入栈,遇到有括号时候判断栈顶元素是不是一个与之匹配的左括号,如果是则出站,如果否则返回FALSE;最后若栈为空则返回TRUE,否则返回FALSE。代码
public class Solution {public boolean isValid(String s) {
char [] stack = new char[10000];
int top = -1;
if(s.charAt(0) == '}' || s.charAt(0) == ']' || s.charAt(0) == ')' ) return false;
int i = 0;
while(i < s.length()){
char c = s.charAt(i);
if(c == '{' || c == '[' || c == '('){
++top;
stack[top] = c;
}
else{
if(top < 0) return false;
char t = stack[top];
if(t == '{' && c == '}'){
--top;
}
else if(t == '[' && c == ']'){
--top;
}
else if(t == '(' && c == ')'){
--top;
}
else{
return false;
}
}
++i;
}
if(top == -1) return true;
else return false;
}
}
相关文章推荐
- LeetCode 20. Valid Parentheses--验证括号是否有效
- LeetCode 20:Valid Parentheses
- LeetCode 20. Valid Parentheses
- leetcode 20. Valid Parentheses
- Leetcode 20 Valid Parentheses
- (Java)LeetCode-20. Valid Parentheses
- Leetcode 20 Valid Parentheses
- [leetcode] 20.Valid Parentheses
- leetcode 20 Valid Parentheses C++
- Leetcode 题目 20. Valid Parentheses(个人错误分析)
- LeetCode 20 Valid Parentheses
- Leetcode[20]-Valid Parentheses
- [leetcode]20. Valid Parentheses
- LeetCode 20. Valid Parentheses
- LeetCode 20 Valid Parentheses(有效的括号)
- Leetcode 20 Valid Parentheses
- leetcode --20. Valid Parentheses
- LeetCode 20.Valid Parentheses
- LeetCode 20 - Valid Parentheses
- leetcode 20. Valid Parentheses