LeetCode20: Valid Parentheses
2013-02-22 14:09
330 查看
Given a string containing just the characters
determine if the input string is valid.
The brackets must close in the correct order,
all valid but
not.
Attention!!!: Need to check stack size before pop()!!!!
------------------------------------------------------------------------------------------------------------------------------------------
LL's solution:
'(',
')',
'{',
'}',
'['and
']',
determine if the input string is valid.
The brackets must close in the correct order,
"()"and
"()[]{}"are
all valid but
"(]"and
"([)]"are
not.
public class Solution { public boolean isValid(String s) { // Start typing your Java solution below // DO NOT write main() function 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(ch==')'){ if(stack.size()==0 || stack.pop()!='(') return false; } else if(ch==']'){ if(stack.size()==0 || stack.pop()!='[') return false; } else if(ch=='}'){ if(stack.size()==0 || stack.pop()!='{') return false; } } } if(stack.size()!=0) return false; return true; } }
Attention!!!: Need to check stack size before pop()!!!!
------------------------------------------------------------------------------------------------------------------------------------------
LL's solution:
public static boolean isValid(String s) { int len = s.length(); if(len%2!=0||len<1) return false; Stack st = new Stack(); st.push(s.charAt(0)); int i = 1; while(!st.isEmpty() || i<len){ char c = s.charAt(i); if((c==')' && (char)st.peek()=='(') || (c=='}' && (char)st.peek()=='{') || (c==']' && (char)st.peek()=='[')) st.pop(); else if(c=='(' || c == '{' || c=='[') st.push(c); else return false; i++; } if(st.isEmpty()) 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
- Leetcode 20. Valid Parentheses
- leetcode 20 Valid Parentheses C++
- python写算法题: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
- 20. Valid Parentheses LeetCode
- LeetCode---(20)Valid Parentheses
- Java [leetcode 20]Valid Parentheses
- leetcode 20 Valid Parentheses 括号匹配
- Leetcode 20. Valid Parentheses
- 【leetcode】20. Valid Parentheses
- LeetCode *** 20. Valid Parentheses