有效的括號golang實現

2022-07-25 07:06:10 字數 958 閱讀 5980

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

有效字串需滿足:

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

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

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

輸入: "()"

輸出:

true

輸入:

"(){}

"輸出:

true

輸入: "(]

"輸出:

false

輸入:

"([)]

"輸出:

false

輸入: ""

輸出:

true

首先理解題意:

首先空字串必定為true

其次括號成對出現

有可能在括號中間出現成對的括號

那我們就可以想象有乙個容器,一直把字串的每個字元塞進去,當成對出現的時候就去除,當容器內沒有任何元素了,那就說明字串是有效的括號組合,否則不是

//

特殊情況,空字串返回true

if len(s) == 0

//配對字典

m := map[string]string

": "

//棧var stack string

//把字串的每個字元放進棧中,每放乙個就判斷與前乙個是不是配對的

for i := 0; i < len(s); i++

else

else}}

//判斷棧中是否沒有元素

//是的話返回true

//否則返回false

if len(stack) == 0

else

這裡有個小技巧,就是每次我們放進容器的字元,當配對成功的時候,肯定是塞進右邊的符號,所以可以構造乙個以右邊括號為key,左邊括號為值得字典

領扣 有效的括號 Python實現

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

棧,有效的括號(Python實現)

給定乙個只包括 的字串,判斷字串是否有效。將字串從前向後 從後向前也可 依次取出,若取出的字元與棧頂元素可以組成有效的括號,則彈出棧頂元素,否則將該字元壓入棧頂。字元全部取出後若棧為空,則字串有效,反之無效。class solution object defisvalid self,s type s...

leetcode有效的括號(js實現)

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