題目描述:
給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:
輸入: 「()」
輸出: true
示例 2:
輸入: 「(){}」
輸出: true
示例 3:
輸入: 「(]」
輸出: false
示例 4:
輸入: 「([)]」
輸出: false
示例 5:
輸入: 「」
輸出: true
題解:開始遍歷輸入字串,如果當前字元為左半邊括號時,則將其壓入棧中,如果遇到右半邊括號時,若此時棧為空,則直接返回false,如不為空,則取出棧頂元素,若為對應的左半邊括號,則繼續迴圈,反之返回false
class
solution
else
character temp=stack.
pop();
if(s.
charat
(i)==
')'&& temp!=
'(')
return
false;if
(s.charat
(i)==
'}'&& temp!='}
//最後如果棧為空則表示括號比配成功
if(stack.
isempty()
)return
true
;else
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...