LeetCode - 20. Valid Parentheses(0ms)
程序员文章站
2022-05-04 13:54:51
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. An input string is valid if: No ......
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 int l = s.length(); 5 if(l == 0) { 6 return true; 7 } 8 9 stack<char> st; 10 for(int i=0; i<l; i++) { 11 if(s[i] == '(' || s[i] == '[' || s[i] == '{') { 12 st.push(s[i]); 13 } 14 else if(st.size() == 0) { 15 return false; 16 } 17 else { 18 if(s[i] == ')') { 19 if(st.top() == '(') { 20 st.pop(); 21 } 22 else { 23 return false; 24 } 25 } 26 else if(s[i] == ']') { 27 if(st.top() == '[') { 28 st.pop(); 29 } 30 else { 31 return false; 32 } 33 } 34 else { 35 if(st.top() == '{') { 36 st.pop(); 37 } 38 else { 39 return false; 40 } 41 } 42 } 43 } 44 if(st.size() == 0) { 45 return true; 46 } 47 else { 48 return false; 49 } 50 } 51 };
上一篇: qt cout输出中文乱码解决记录
推荐阅读
-
LeetCode - 20. Valid Parentheses(0ms)
-
LeetCode-32.Longest Valid Parentheses最长有效括号子串
-
Longest Valid Parentheses leetcode java (求最长有效匹配括号子串的长度)-动态规划
-
LeetCode 20. 有效的括号(Valid Parentheses)
-
Leetcode 20 Valid Parentheses
-
LeetCode----Valid Parentheses
-
[LeetCode]Valid Parentheses
-
LeetCode 1249. Minimum Remove to Make Valid Parentheses解题报告(python)
-
LeetCode - 20. Valid Parentheses(0ms)
-
LeetCode 921. Minimum Add to Make Parentheses Valid