Valid Parentheses
来源:互联网 发布:成都真那么好么知乎 编辑:程序博客网 时间:2024/06/05 16:01
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.
题目解析:
1、利用堆栈存放左边的符号。然后如果来的是右边符号就与左边符号进行匹配。匹配成功就出栈,不匹配就返回为false。
2、最后如果栈不为空,则返回false。
3、如果匹配的过程中,栈为空返回false。
#include <iostream>#include <stack>using namespace std;bool isValid(string s) {stack<char> sc;string::size_type len = s.size();if (len == 0){return true;}for(string::size_type i = 0;i<len;i++){if(s[i] == '(' || s[i] == '{' || s[i] == '[')sc.push(s[i]);else{if (sc.empty()){return false;}if (s[i] == ')' && sc.top()=='('){sc.pop();}else if (s[i] == '}' && sc.top()=='{'){sc.pop();}else if (s[i] == ']' && sc.top()=='['){sc.pop();}else{return false;}}}if(sc.empty())return true;elsereturn false;}int main(void){string s("[");cout << isValid(s) << 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-Two Sum
- Trading——Study Notes
- java Clone 中shallow clone 和 deep clone
- WCF System.ServiceModel.AddressAccessDeniedException
- ini文件的操作
- Valid Parentheses
- java的FileChannel使用方法。
- 由浅入深谈流形
- 求N个实数的最大值和最小值
- 控制器-各种ActionResult【2】
- nyoj-223-小明的烦恼
- 设计模式(九)之 Decorator(油漆工)
- 2014校园招聘之二(3月阿里巴巴实习生笔试题)
- c语言面试知识总结