有效的括号序列判断
来源:互联网 发布:shell编程能做什么 编辑:程序博客网 时间:2024/05/21 12:45
给定一个字符串所表示的括号序列,包含以下字符: '(', ')'
, '{'
, '}'
, '['
和 ']'
, 判定是否是有效的括号序列。
样例
括号必须依照 "()"
顺序表示, "()[]{}"
是有效的括号,但 "([)]"
则是无效的括号。
挑战
O(n)的时间,n为括号的个数
其中栈的基本操作有:
1、入栈 push()
2、出栈 pop()
3、访问栈顶 top()
4、判断栈空 empty()
5、栈中元素数量 size()
class Solution {public: /** * @param s A string * @return whether the string is a valid parentheses */ bool isValidParentheses(string& s) { // Write your code here stack<char> stack_char; int length = s.length(); for(int i=0;i<length;++i){ if(s[i]=='(' || s[i]=='[' || s[i]=='{'){ stack_char.push(s[i]); } if(!stack_char.empty()){ if(s[i]==')'){ if(stack_char.top()=='('){ stack_char.pop(); } else{ return false; } } if(s[i]==']'){ if(stack_char.top()=='['){ stack_char.pop(); } else{ return false; } } if(s[i]=='}'){ if(stack_char.top()=='{'){ stack_char.pop(); } else{ return false; } } } else{ return false; } } return stack_char.empty(); }};
阅读全文
1 0
- 有效的括号序列判断
- java判断有效的括号序列
- 有效的括号序列
- 有效的括号序列
- 有效的括号序列
- 有效的括号序列
- 有效的括号序列
- 有效的括号序列
- 有效的括号序列
- 有效的括号序列
- 有效的括号序列
- 题目:有效的括号序列
- lintcode 有效的括号序列
- LintCode_有效的括号序列
- lintcode ----有效的括号序列
- LintCode:有效的括号序列
- 有效的括号序列,lintcode
- lintcode--有效的括号序列
- PAT basic 1019
- ftp两种传输方式区别
- hdu—6059
- 定义拒绝原因
- PAT basic 1020
- 有效的括号序列判断
- Matlab 使用最小二乘法拟合球面(待验证)
- PAT basic 1021
- Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple
- 多边形的面积求法
- ThinkPHP 5.0 rewrite规则
- 安卓中透明度的修改
- Android 自定义view实现动态柱状图。
- PHP的ZMQ扩展zeromq源码安装