給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:
輸入: 「()」
輸出: true
示例 2:
輸入: 「(){}」
輸出: true
示例 3:
輸入: 「(]」
輸出: false
示例 4:
輸入: 「([)]」
輸出: false
示例 5:
輸入: 「」
輸出: true
class solution
;char right=
'};for
(int i =
0; i < s.
length()
; i++
)else
if(s[i]
== right[j]
) sc.
pop();
}}}if
(sc.
empty()
)return0;
}};
思路:建立兩個陣列形成雜湊表,使對應下標上的括號相互對應。對於傳入的字串的每乙個字元,判斷這個字元是屬於哪個陣列中的括號,若是左括號則入棧,右括號則先拿到這個括號在右括號陣列中的下標 i,再判斷棧中有無左括號,沒有則返回0,有則判斷棧頂的括號是否與左括號陣列中下標 i 的括號相匹配,不匹配則返回0,匹配則出棧棧頂元素。當字串中每個字元都執行完上述for迴圈後,判斷棧是否為空,不為空返回0,為空返回1 LeetCode 8 有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...
leetcode 有效的括號(棧)
有效的括號 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 false 示例 ...
LeetCode,棧easy,有效的括號
有效的括號 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。簡單題可以讓人快樂 否則比較與棧頂的符號是否匹配 else else return false else if s i else retu...