LeetCode刷题笔录Valid Parentheses
来源:互联网 发布:公知和五毛是什么意思 编辑:程序博客网 时间:2024/06/07 05:34
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.
这题只要求括号是合法的。用一个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; }}
0 0
- LeetCode刷题笔录Valid Parentheses
- LeetCode刷题笔录Longest Valid Parentheses
- [leetcode刷题系列]Valid Parentheses
- [leetcode刷题系列]Longest Valid Parentheses
- leetcode 刷题之路 42 Valid Parentheses
- leetcode刷题日记——Valid Parentheses
- leetcode第一刷_Longest Valid Parentheses
- 开始刷leetcode day15:Valid Parentheses
- LeetCode算法题之Valid Parentheses
- Leetcode 第20题 Valid Parentheses
- LeetCode第20题之Valid Parentheses
- valid parentheses leetcode 第20题
- leetcode 第20题<Valid Parentheses>(java)
- LeetCode: Valid Parentheses
- LeetCode: Longest Valid Parentheses
- LeetCode: Valid Parentheses
- LeetCode Longest Valid Parentheses
- [Leetcode] Valid Parentheses
- 0x000000068.0x000000097.0x000000002.67
- 104.0x0097.0x0002.68
- Socket 长连接 心跳包
- MySQL CMake参数说明手册
- html实现页面内加横向滚动条
- LeetCode刷题笔录Valid Parentheses
- 运行代码在控制台输出“Hello World”
- 华为--C++ 笔试面试题目
- rand() 函数
- 写一个函数,检查字符是否是整数,如果是,返回其整数值
- http://www.loveq.cn/profile-wang091633.html
- http://www.loveq.cn/profile-wang091633.html
- http://www.loveq.cn/profile-wang091633.html
- 开源硬件