Leetcode#20: Valid Parentheses
来源:互联网 发布:伴奏软件免费下载 编辑:程序博客网 时间:2024/06/03 14:05
题目描述:判断一个字符串是否有效,该字符串是括号“()[]{}”组成的,若前后括号是匹配的则有效,反之无效
思路:
- 这是一道使用栈解决的题目,如果是左括号,就压入栈中;
- 如果是右括号,就要判定其与栈顶元素是否匹配,若匹配则栈顶元素出栈;
- 直到最后,若栈中的左括号全部出栈,栈为空则有效;反之栈非空,则无效
以下是C++实现,如有需要,请访问我的Github获取包含测试程序的完整源码。
class Solution {public: bool isValid(string s) { //声明一个名为myStack的栈,栈中元素为char类型 stack <char> myStack; for(int i = 0; i < s.length(); i++) { if(s[i] == '('||s[i] == '['||s[i] == '{') { myStack.push(s[i]); } else { //若s[0]没有进栈,那么肯定是无效的 if(myStack.empty()) { return false; } else if(myStack.top() == '(' && s[i] == ')') { myStack.pop(); } else if(myStack.top() == '[' && s[i] == ']') { myStack.pop(); } else if(myStack.top() == '{' && s[i] == '}') { myStack.pop(); } else { return false; } } } return myStack.empty(); }};
阅读全文
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
- leetcode 20 Valid Parentheses
- Leetcode 20 Valid Parentheses
- LeetCode 20 - Valid Parentheses
- LeetCode 20: Valid Parentheses
- leetcode-20 Valid Parentheses
- leetcode 20 -- Valid Parentheses
- 表达式计算
- phantomjs fail-to-load-the-address问题的两个解决方法
- dbm和db的关系、区别
- 初学Redis(4)——简单实现Redis缓存中的排序功能
- 人工智能
- Leetcode#20: Valid Parentheses
- Android--BindService
- android popupwindow
- 设备兼容性
- 老男孩14期14周作业-简单的商城页面布局
- 在 Oracle JDBC 访问中加入一些 Spring 特性
- C#文件夹加锁小工具
- 蒜头君救人
- S01E02 Selenium Webdriver自动化编程初步(上)