LeetCode(20)Valid Parentheses
来源:互联网 发布:福建广电网络人工电话 编辑:程序博客网 时间:2024/05/02 06:00
题目
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) { int len = strlen(s.c_str()); if (len == 0) return true; if (len % 2 != 0) return false; //括号匹配问题,用数据结构栈辅助实现 stack<char> sta; for (int i = 0; i < len; i++) { if (s[i] != ')' && s[i] != ']' && s[i] != '}') sta.push(s[i]); else { if (sta.size() <= 0) return false; if (s[i] == PairLetter(sta.top())) sta.pop(); else return false; }//else }//for if (sta.size() == 0) return true; else return false; } char PairLetter(const char &c) { switch (c) { case '(': return ')'; break; case '[': return ']'; break; case '{': return '}'; break; default: return 0; break; } }};
GitHub测试程序源码
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
- ListView上拉加载更多
- 批量清除WPS/Word文档中的回车符
- jQuery学习之AJAX
- 第三周工作周报
- POJ 3641 Pseudoprime numbers
- LeetCode(20)Valid Parentheses
- GC垃圾收集算法
- Grep用法
- hdu 3593
- C++ class与内存
- LeetCode(141)(142) Linked List Cycle I II
- Linux - 有效群组(effective group)与初始群组(initial group),groups,newgrp
- 高仿SinaWeibo新浪微博发布页面话题效果
- 分享在MVC3.0中使用jQuery DataTable 插件