LeetCode 20. Valid Parentheses 辅助数据结构栈
来源:互联网 发布:顶尖数据恢复软件破解 编辑:程序博客网 时间:2024/05/17 09:16
- Valid Parentheses
- 题意
- 注意
- 思路
- 代码
- 结果
- Valid Parentheses
20. 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 valid but “(]” and “([)]” are not.
题意
给定一个字符串仅仅包含’(‘, ‘)’, ‘{‘, ‘}’, ‘[‘,’]’六个字符,来判断输入是否有效
判定的规则就是,左括号必须匹配右括号
注意
如 ”()” , “()[]{}” 是合法的
如 “(]”,”([)]” 是非法的
注意特殊情况,当只有右括号作为输入,此时栈为空
思路
遍历字符串,当遇到左括号,压入栈中,遇到右括号弹出一个栈顶元素,将右括号转换为对应的左括号,和栈顶元素作为判断。相等继续,不相等返回false。
当输入‘(’‘[’‘{’‘}’,最终栈里元素还有剩下,循环已经完成,此时应该返回false。
代码
class Solution {public: bool isValid(string s) { stack<char> sta; for(int i=0;i<s.size();i++) { if(s[i]=='('||s[i]=='['||s[i]=='{') { sta.push(s[i]); } else { char temp = s[i]; switch(temp) { case ')': temp = '('; break; case ']': temp = '['; break; case '}': temp = '{'; break; default: return false; } //对栈取栈顶元素弹出操作需要检查其有效性 if (sta.size()==0) { return false; } char top = sta.top(); sta.pop(); if(top != temp) { return false; } } } //当最后的栈不为空也返回false if(sta.size() != 0) { return false; } return true; }};
结果
阅读全文
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
- 20. Valid Parentheses LeetCode
- leetcode 20. Valid Parentheses
- 【LeetCode】20. Valid Parentheses
- leetcode 20. Valid Parentheses
- leetcode 20. Valid Parentheses
- LeetCode-20.Valid Parentheses
- java 实现排序二叉树的插入和前序,中序,后序遍历
- POJ 1363 Rails 笔记
- 【LeetCode】581. Shortest Unsorted Continuous Subarray
- Kotlin 资源大全
- 获取设备当前的海拔高度和垂直高度
- LeetCode 20. Valid Parentheses 辅助数据结构栈
- shell调用sqlplus(sftp)并传入命令
- 模糊匹配
- linux screen 命令详解
- MYSQL实现连续签到功能,断签一天从头开始
- IOS字体设置及展现效果
- 对采集的数据处理
- 分区索引
- Maven使用介绍