LeetCode-20 Valid Parentheses
来源:互联网 发布:福建厦门广电网络 编辑:程序博客网 时间:2024/06/18 02:42
题目:给定一个只包含‘(’,‘[’,'{',')',']','}'的字符串,判断其是否一个合法的闭合字符串。
思路:可利用一个栈,遍历字符串,每碰到‘(’,‘[’,'{'则将其入栈,每碰到,')',']','}',则出栈一个字符,同时判断出栈的字符是否匹配当前字符,如果最后栈为空,则合法。
class Solution {public: bool isValid(string s) { stack<char> s1; int length=s.size(); if(length==0)return true; if(length%2!=0)return false; int i=length-1; while(i>=0){ if(s[i]=='}'||s[i]==']'||s[i]==')'){ s1.push(s[i]); i--; } else{ if(s[i]=='{'){ if(!s1.empty()&&s1.top()=='}'){ s1.pop(); i--; } else{ return false; } } if(s[i]=='['){ if(!s1.empty()&&s1.top()==']'){ s1.pop(); i--; } else{ return false; } } if(s[i]=='('){ if(!s1.empty()&&s1.top()==')'){ s1.pop(); i--; } else{ return false; } } } } if(s1.size()==0) return true; else return false; }};
0 0
- 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 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: Valid Parentheses
- leetcode-20 Valid Parentheses
- leetcode 20 -- Valid Parentheses
- android的json解析
- Html的label的for属性
- 还是畅通工程
- 计算自己活了多少天 SimpleDateFormat Date getTime()
- 利用正则表达式抽取网页信息
- LeetCode-20 Valid Parentheses
- LINQ体验(13)——LINQ to SQL语句之运算符转换和ADO.NET与LINQ to SQL
- 查税( 斜率优化&单调队列维护凸包 &分块 )
- 使用Eclipse构建Maven项目
- Android使用 LruCache 缓存图片
- vs2015/MFC静态文本控件
- LINQ体验(12)——LINQ to SQL语句之对象标识和对象加载
- 第25章:Spinner的用法
- 集成测试之接口测试