LeetCode 8 有效的括號 (棧)

2021-10-08 10:36:15 字數 874 閱讀 9837

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

有效字串需滿足:

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

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

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

示例 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...