LeetCode刷题笔录Valid Parentheses
2014-07-18 03:59
387 查看
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.
这题只要求括号是合法的。用一个stack,遇到左括号就丢到stack里,遇到右括号就弹出stack顶上的括号,看看是不是一对。是的话就继续,不是的话返回false。扫描完一遍以后,stack如果不是空的,说明左括号多了,返回false。
'(',
')',
'{',
'}',
'['and
']',
determine if the input string is valid.
The brackets must close in the correct order,
"()"and
"()[]{}"are
all valid but
"(]"and
"([)]"are
not.
这题只要求括号是合法的。用一个stack,遇到左括号就丢到stack里,遇到右括号就弹出stack顶上的括号,看看是不是一对。是的话就继续,不是的话返回false。扫描完一遍以后,stack如果不是空的,说明左括号多了,返回false。
public class Solution { public boolean isValid(String s) { //this stack stores all the left parentheses Stack<Character> stack = new Stack<Character>(); for(int i = 0; i < s.length(); i++){ char current = s.charAt(i); //if the next character is a right par if(isLeft(current) == false){ if(stack.isEmpty()){ return false; } //check the top par on the stack if it formsa pair with the current par char top = stack.pop(); if(isPair(top, current) == false){ return false; } } //if the next character is a left par, push onto the stack else{ stack.push(current); } } if(stack.isEmpty() == false) return false; return true; } public boolean isLeft(char c){ if(c == '[' || c == '{' || c == '(') return true; else return false; } public boolean isPair(char left, char right){ if(left == '(' && right == ')') return true; if(left == '[' && right == ']') return true; if(left == '{' && right == '}') return true; return false; } }
相关文章推荐
- LeetCode刷题笔录Longest Valid Parentheses
- Leetcode 20 Valid Parentheses stack的应用
- leetcode[32]Longest Valid Parentheses
- leetcode第一刷_Valid Parentheses
- [Leetcode] Valid Parentheses
- 2017-09-21 LeetCode_032 Longest Valid Parentheses
- leetcode - Valid Parentheses
- LeetCode 20: Valid Parentheses
- 【一天一道LeetCode】#32. Longest Valid Parentheses
- leetcode-20 Valid Parentheses
- leetcode_java.T020_ValidParentheses 给定一个只包含(‘, ‘)’, ‘{‘, ‘}’, ‘[’ 和‘]’的字符串,验证它是否是有效的。
- Leetcode 20 Valid Parentheses
- LeetCode Longest Valid Parentheses
- 《leetCode》:Valid Parentheses
- Valid Parentheses -- LeetCode
- LeetCode Online Judge 题目C# 练习 - Valid Parentheses
- Leetcode:Longest Valid Parentheses
- LeetCode Longest Valid Parentheses
- 【LeetCode】20. Valid Parentheses
- LeetCode题解——Valid Parentheses