[LeetCode20]Valid Parentheses
来源:互联网 发布:cpi数据 编辑:程序博客网 时间:2024/05/31 19:41
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.
Analysis:
The idea is to use stack to store and match () {} [],
when meet ( { [ push it into stack, meet ) } ] compare and pop stack
Java:
public boolean isValid(String s) { int len = s.length(); if(len<=1||len%2==1) return false; Stack<Character> pare = new Stack<>(); for(int i=0;i<len;i++){ if(s.charAt(i)=='('||s.charAt(i)=='['||s.charAt(i)=='{'){ pare.push(s.charAt(i)); } else {if(pare.empty())return false;else {char top = pare.peek();if((s.charAt(i)==')'&&top=='(')||(s.charAt(i)==']'&&top=='[')||(s.charAt(i)=='}'&&top=='{'))pare.pop();}} } if(pare.empty()) return true; else return false; }c++
bool isValid(string s) { if(s.size()%2 == 1 || s.size() == 0) return false; vector<char> sta; sta.push_back(s[0]); for(int i=1; i< s.size(); i++){ if(s[i] == '(' || s[i]=='[' || s[i]=='{'){ sta.push_back(s[i]); continue; } char current = sta.back(); if(s[i] == ')' && current != '(' ) return false; if(s[i] == ']' && current != '[') return false; if(s[i] == '}' && current != '{') return false; sta.pop_back(); } if(sta.size() != 0 ) return false; return true; }
0 0
- LeetCode20: Valid Parentheses
- [LeetCode20]Valid Parentheses
- leetcode20-Valid Parentheses
- LeetCode20:Valid Parentheses
- LeetCode20:Valid Parentheses
- leetcode20. Valid Parentheses
- LeetCode20 Valid Parentheses
- LeetCode20. Valid Parentheses
- Leetcode20: Valid Parentheses
- Leetcode20. Valid Parentheses
- leetcode20:Valid Parentheses
- LeetCode20. Valid Parentheses
- leetcode20. Valid Parentheses
- LeetCode20. Valid Parentheses
- 【LeetCode20】【Valid Parentheses】
- Leetcode20. Valid Parentheses
- leetcode20. Valid Parentheses
- LeetCode20. Valid Parentheses
- NDK undefined reference to 错误
- 初级概念
- 【Ubuntu】升到14,解决了进入用户后没有菜单栏导航栏的问题
- [解决]Eclipse不能开发Web项目
- C++ 播放音频流(PCM裸流)
- [LeetCode20]Valid Parentheses
- 集合差集算法
- 只能努力,才有方向
- ITFriend开发日志20140611
- iOS开发-NSLog不打印设置
- 随笔录—2014.6.11
- S3C2440之UART
- HTTP Session
- Android耳机按键监听