LeetCode 20 用棧實現括號匹配

2021-10-06 11:39:18 字數 633 閱讀 3198

給定乙個只包括 '(',')','','[',']' 的字串,判斷字串是否有效。

有效字串需滿足:

左括號必須用相同型別的右括號閉合。

左括號必須以正確的順序閉合。

注意空字串可被認為是有效字串。

示例 1:

輸入: "()"

輸出: true

示例 2:

輸入: "(){}"

輸出: true

示例 3:

輸入: "(]"

輸出: false

示例 4:

輸入: "([)]"

輸出: false

解題思路:用棧來檢驗括號,這應該是我們學習棧的時候必學的一道例題了吧,比較簡單,依次將字串入棧或出棧操作,當字元是左括號的時候 ,入棧,當字元是右括號的時候,彈出棧頂元素檢查是否匹配,若不匹配,直接返回false。當字串遍歷結束後,檢查棧中是否還有剩餘元素,若有,返回false,若無,返回true。

class solution else' && tmp != '}}

if(stack.isempty())

return false;

}}

LeetCode 20 (有效的括號) 棧

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

leetcode 20 有效的括號(棧)

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

LeetCode 20 有效的括號 棧

思路 首先用字典將三對括號儲存,遍歷字串中每個字元,遇到左括號就入棧 遇到右括號就開始判斷 是否與棧彈出的頂字元相同。如果到最後棧被清空,說明全部匹配上了,為真。class solution object defisvalid self,s stack 設定乙個列表,把該列表當做棧來使用即可 dic...