valid parentheses
来源:互联网 发布:阿里巴巴上传宝贝软件 编辑:程序博客网 时间:2024/06/05 08:11
验证括号序列,圧栈弹栈比较即可
提交时报runtime error 检查发现27行的st.empty()写成了s.empty(),看来在有s表示字符串的情况下,用st表示栈真不妙。
#include <cstdio>#include <cstdlib>#include <algorithm> #include <stack>#include <iostream>#include <iomanip>using namespace std;/*https://oj.leetcode.com/problems/valid-parentheses/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 validbut "(]" and "([)]" are not.*/class Solution {public: bool isValid(string s) { std::stack<char> st; for (size_t i=0;i!=s.size();++i){ if (st.empty()){ st.push(s[i]); continue; } switch(s[i]){ case ')':{ if (st.top()=='(') st.pop(); else st.push(s[i]); break; } case ']':{ if (st.top()=='[') st.pop(); else st.push(s[i]); break; } case '}':{ if (st.top()=='{') st.pop(); else st.push(s[i]); break; } default:{ st.push(s[i]); } } } return st.empty()?true:false; }};int main(){Solution sol;string cmd; while (cin>>cmd){cout<<"input:"<<cmd<<" "<<boolalpha<<sol.isValid(cmd)<<endl;} system("pause");return 0;}
0 0
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- Valid Parentheses
- 【Leetcode】Valid Sudoku in JAVA
- swap的使用技巧
- Linux系统下面的交叉编译浅析
- 简单记录下document.write() 和 $().html()的区别
- linklist----reverse
- valid parentheses
- HDOJ1398 Square Coins
- Best Time to Buy and Sell Stock III(leetcode)
- java常见问题整理
- sh命令
- 如何使用git创建项目,创建分支
- 马士兵struts2视频教程第四十八集
- Scaling the NetScaler
- CODEVS 1997 守卫者的挑战(三维dp)