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
[LeetCode]20. Valid Parentheses