leetcode 20. Valid Parentheses
Posted qinduanyinghua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 20. Valid Parentheses相关的知识,希望对你有一定的参考价值。
Given a string containing just the characters ‘(‘
, ‘)‘
, ‘‘
, ‘‘
, ‘[‘
and ‘]‘
, determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
Note that an empty string is also considered valid.
Example 1:
Input: "()" Output: true
Example 2:
Input: "()[]" Output: true
Example 3:
Input: "(]" Output: false
Example 4:
Input: "([)]" Output: false
Example 5:
Input: "[]" Output: true
思路:栈实现
1 class Solution 2 public: 3 bool isValid(string s) 4 stack<char> st; 5 int len = s.length(); 6 for (int i = 0; i < len; ++i) 7 if (!st.empty()) 8 if (s[i] == ‘(‘ || s[i] == ‘‘ || s[i] == ‘[‘) 9 st.push(s[i]); 10 else if ((s[i] == ‘)‘ && st.top() == ‘(‘) || 11 (s[i] == ‘‘ && st.top() == ‘‘) || 12 (s[i] == ‘]‘ && st.top() == ‘[‘)) 13 st.pop(); 14 else 15 st.push(s[i]); 16 17 else 18 st.push(s[i]); 19 20 21 if (st.empty()) 22 return true; 23 else 24 return false; 25 26 ;
以上是关于leetcode 20. Valid Parentheses的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode - 20. Valid Parentheses
[LeetCode]20. Valid Parentheses
[LeetCode]20 Valid Parentheses 有效的括号