LeetCode 20. 有效的括号(Valid Parentheses)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 20. 有效的括号(Valid Parentheses)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
棧思想
關(guān)于有效括號(hào)表達(dá)式的一個(gè)有趣屬性是有效表達(dá)式的子表達(dá)式也應(yīng)該是有效表達(dá)式。
整個(gè)表達(dá)式是有效的,而它的子表達(dá)式本身也是有效的。這為問(wèn)題提供了一種遞歸結(jié)構(gòu)。(棧思想)
從整體表達(dá)式中一次刪除一個(gè)較小的表達(dá)式,因?yàn)檫@是一個(gè)有效的表達(dá)式,我們最后剩留下一個(gè)空字符串。
class Solution { public:bool isValid(string s) {int pos = 0;while (pos < s.length()){//左括號(hào),壓棧if (s[pos] == '(' || s[pos] == '{' || s[pos] == '[') {pos++;continue;}//括號(hào)匹配,出棧if((s[pos] == ')' && s[pos-1] == '(') || (s[pos] == ']' && s[pos-1] == '[') || (s[pos] == '}' && s[pos-1] == '{')){s.erase(pos-1, 2);pos--;}elsereturn false;}if (s.length() == 0)return true;else return false;} };?
總結(jié)
以上是生活随笔為你收集整理的LeetCode 20. 有效的括号(Valid Parentheses)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode 21. 合并两个有序链
- 下一篇: LeetCode 53. 最大子序和(M