題目
分析括號不匹配分為三種情況:左括號多了,右括號多了,不多不少但型別不匹配。
我們用乙個棧儲存左括號的應該匹配的右括號,就是每遇到乙個左括號,將相應型別的右括號壓棧。為什麼要這樣想 ?因為括號匹配的要求是:
1.左括號必須用相同型別的右括號閉合。
2.左括號必須以正確的順序閉合。
尤其是第二條這就是棧的應用。
如何判斷左括號多了?遍歷完了字串發現棧不為空。
如何判斷右括號多了?在匹配過程中,遍歷字元產還沒結束,棧反而空了
如何判斷匹配成功?字串遍歷完後,棧空。
1class
solution ');
9else
if(stk.empty() || s[i] != stk.top())
10else
stk.pop();11}
12return
stk.empty();13}
14 };
class solution ');
else
if(stk.empty() || s[i] != stk.top())
else stk.pop();
}return stk.empty();}};
LeetCode20有效括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...
Leetcode 20 有效括號
leetcode 20 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true pthon 列表 如 a a b 字典 如 dict not ...
leetcode 20 有效括號
怎麼減少if語句,判斷是否是某乙個值,將值存進map中,是否在map中,若在,則是 匹配用map 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出...