Valid Parentheses
来源:互联网 发布:萌牙电动牙刷知乎 编辑:程序博客网 时间:2024/05/16 07:19
https://oj.leetcode.com/problems/valid-parentheses/
1、题目要求:给定一个字符串s只包含"{", "}", "[", "]", "(", ")",这六种字符,判断字符串s是否有效,即判断s中的每个括号正确匹配。
例:"( )"和"{ ( ) [ ] }"都是有效的,而"{ ]"是无效的。
2、解题思路:如果遇到左括号,则将其压入栈中,如果遇到右括号,则将其与栈顶元素比较是否匹配。如果匹配成功,则弹出栈顶元素,如果匹配失败则返回false,最后判断栈是否为空,即判断是否所有的左括号都正确匹配。
class Solution {public: bool isValid(string s) { string result;stack<char> st;string::iterator it = s.begin();while (it != s.end()){switch (*it){case '(':st.push('(');break;case '[':st.push('[');break;case '{':st.push('{');break;case ')':if (!st.empty() && st.top() == '(')st.pop();elsereturn false;break;case ']':if (!st.empty() && st.top() == '[')st.pop();elsereturn false;break;case '}':if (!st.empty() && st.top() == '{')st.pop();elsereturn false;break;default:break;}it++;}if (st.empty())return true;elsereturn false; }};
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
- 处理小图标位子
- 黑马程序员——C语言指针
- C++ 函数模板 和 类模板的使用
- [经典面试题]求解集合A与B的差集
- Maven_安装及配置(一)
- Valid Parentheses
- Nginx配置文件详细说明
- Andriod SeekBar以及实现图片旋转平移放大缩小
- 图形手势识别
- 解决Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'问题
- 第16周oj项目3相同的数字
- 《编程之美》之:"程序理解和时间分析"与JOJ 2042
- ExtJs 入门 [表单:FormPanel]
- 第16周项目2-用指针玩字符串(统计单词个数)