20. Valid Parentheses
来源:互联网 发布:申请网络记者 编辑:程序博客网 时间:2024/05/22 10:51
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.
题意:判断给定的一个括号串是否合法。
思路:利用栈,遇见左括号入栈,遇见右括号,配对则出栈或否则则报错。简单题,而且以前肯定遇到过,一次AC吧~
class Solution {public:bool isValid(string s) {stack<char> stac;stac.push('$');int i = 0;while (i < s.size()){switch (stac.top()){case '$':if (s[i] == '(' || s[i] == '[' || s[i] == '{'){stac.push(s[i]);i++;}elsereturn false;break;case '(':if (s[i] == ')'){stac.pop();i++;}else if (s[i] == '(' || s[i] == '[' || s[i] == '{'){stac.push(s[i]);i++;}elsereturn false;break;case '[':if (s[i] == ']'){stac.pop();i++;}else if (s[i] == '(' || s[i] == '[' || s[i] == '{'){stac.push(s[i]);i++;}elsereturn false;break;case '{':if (s[i] == '}'){stac.pop();i++;}else if (s[i] == '(' || s[i] == '[' || s[i] == '{'){stac.push(s[i]);i++;}elsereturn false;break;default:return false;break;}}if (stac.top() == '$')return true;elsereturn false;}};
0 0
- LeetCode 20. Valid Parentheses
- [LeetCode] 20.Valid Parentheses
- LeetCode --- 20. Valid Parentheses
- LeetCode 20.Valid Parentheses
- [Leetcode] 20. Valid Parentheses
- 20.Valid Parentheses
- 20.Valid Parentheses
- 20. Valid Parentheses
- 【leetcode】20. Valid Parentheses
- [leetcode] 20.Valid Parentheses
- [leetcode] 20. Valid Parentheses
- 20. Valid Parentheses
- 20. Valid Parentheses
- 20. Valid Parentheses
- Leetcode 20. Valid Parentheses
- 20. Valid Parentheses LeetCode
- 20. Valid Parentheses
- 20. Valid Parentheses
- 值得学习的C语言开源项目
- Js获取当前日期时间及其它操作
- SLF4J配置
- facebook android sharesdk 分享清除授权代码
- JS动态加载数据绑定事件--delegate() 方法
- 20. Valid Parentheses
- Struts2学习笔记(一):简介和环境搭建
- iOS设计模式之策略模式
- 详解 poj 1190 深搜 加 剪枝
- 第二周项目3-小试循环
- Mysql基于FEDERATED存储引擎的远程表使用
- Java常见乱码问题总结
- C/C++面试题
- Func<TResult>和Func<TSource, TResult>