小白笔记--------------------------leetcode(20. Valid Parentheses )
2017-04-06 11:28
399 查看
Given a string containing just the characters
The brackets must close in the correct order,
这道题用到了栈,遍历字符串,将所有左括号压入栈中,这里有个重要的点,那就是右括号总是与离他最近的左括号配对,
所以接下来找到右括号之后,直接查询栈顶,如果配对则推出,不配对则不做操作,最后判断栈是否为空,也就是全部配对
成功,来判断最终结果。
代码:
'(',
')',
'{',
'}',
'['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) { boolean result = true; if(s.length() % 2 != 0){ return false; } Stack a = new Stack(); char[] b = s.toCharArray(); for(int i = 0; i < s.length();i++){//全部压入栈中 if(b[i] == '(' || b[i] == '{' || b[i] == '['){ a.push(b[i]); } if(b[i] == ')' || b[i] == '}' || b[i] == ']' ){ if(a.empty()){ result = false; }else{ if(((char)a.peek() + 1 == b[i]) || ((char)a.peek() + 2 == b[i])){ a.pop(); } } } } if(a.empty()){ result = true; }else{ result = false; } return result; } }
相关文章推荐
- LeetCode笔记:20. Valid Parentheses
- 【leetcode刷题笔记】Longest 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, Easy] Valid Parentheses
- LeetCode20——Valid Parentheses
- [LeetCode 20] Valid Parentheses Solution
- 20. Valid Parentheses Leetcode Python
- leetcode20-Valid Parentheses
- [leetcode] 20 Valid Parentheses
- LeetCode 20: Valid Parentheses
- leetcode 20 Valid Parentheses
- 【LeetCode】20. Valid Parentheses
- LeetCode 笔记系列八 Longest Valid Parentheses [lich你又想多了]
- leetcode 20 Valid Parentheses