關於leetcode的「有效的括號」的練習

2021-10-04 08:21:41 字數 975 閱讀 8910

·解題思路·

字串要達到特殊的「對稱」,括號才是有效的,因此可以借助棧,不過要注意先把邊界寫好,例如空字串和奇數個符號的情況就不用進入迴圈,直接返回結果。入棧時,需要先判斷,如果碰到一對滿足條件的括號,例如(){} ,就彈出;不滿足就入棧,空棧也入棧,若最後棧為空,代表字串是有效的。

**如下:

參考大佬wallcwr的題解,使用vector實現棧的結構,直接用vector模擬棧比用stack更高效。

後來,我改了一下原來的**,如下:

leetcode20 python有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 false 示例 5 輸入 輸...

python leetcode 20 有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 false 示例 5 輸入 輸...

LeetCode20 字串專題(4)有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 1 左括號必須用相同型別的右括號閉合。2 左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。public class leetcoded20 if stack.isempty stack.pop hashmap.get c break...