Leetcode 20 Valid Parentheses stack的应用

Posted 我没货,只剩下水了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 20 Valid Parentheses stack的应用相关的知识,希望对你有一定的参考价值。

判断括号是否合法

1.用stack存入左括号“([{”,遇到相应的右括号“)]}”就退栈

2.判断stack是否为空,可以判断是否合法

 1 class Solution {
 2 public:
 3     bool isValid(string s) {
 4         stack<char> sc;
 5         char in[] ="([{";
 6         char out[] =")]}";
 7         for(string::size_type i = 0; i < s.size(); ++i){
 8             for(int j = 0; j < 3; ++j){
 9                 if(in[j] == s[i]) sc.push(s[i]);
10             }
11             for(int j = 0; j < 3; ++j){
12                 if(out[j] == s[i]){
13                     if(sc.empty()) return false;
14                     else if(sc.top() == in[j]) sc.pop();
15                     else return false;
16                 } 
17             }
18         }
19         return sc.empty();
20     }
21 };

 

以上是关于Leetcode 20 Valid Parentheses stack的应用的主要内容,如果未能解决你的问题,请参考以下文章

#Leetcode# 20.Valid Parentheses

LeetCode - 20. Valid Parentheses

leetcode20. Valid Parentheses

[LeetCode]20. Valid Parentheses

[LeetCode]20 Valid Parentheses 有效的括号

LeetCode OJ 20Valid Parentheses