20 有效的括號 (對括號字串進行有效判定)

2022-08-14 19:42:14 字數 1014 閱讀 4170

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

有效字串需滿足:

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

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

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

示例 1:

輸入: "()"

輸出: true

示例 2:

輸入: "(){}"

輸出: true

示例 3:

輸入: "(]"

輸出: false

示例 4:

輸入: "([)]"

輸出: false

示例 5:

輸入: ""

輸出: true

利用棧,依次遍歷字串,當為前括號"(""[""

else if (s[i] == '[')

else if (s[i] == '';

}else if (top == -1 || s[i] != stack[top])

else

}if (top == -1) else

}go同理,構建棧結構。

需要注意的是,構建棧結構時,go語言使用slice切片進行構建。

同時應注意入棧出棧的具體操作流程

//	0 ms	2 mb

func isvalid(s string) bool

for i:= 0; i < len(s); i++ else if s[i] == '[' else if s[i] == 'else if len(stack) == 0 || stack[len(stack)-1] != s[i] else

}if len(stack) == 0 else

}

有效的括號字串

問題描述 給定乙個只包含三種字元的字串 和 寫乙個函式來檢驗這個字串是否為有效字串。有效字串具有如下規則 任何左括號 必須有相應的右括號 任何右括號 必須有相應的左括號 左括號 必須在對應的右括號之前 可以被視為單個右括號 或單個左括號 或乙個空字串。乙個空字串也被視為有效字串。例 1 輸入 輸出 ...

字串 最長有效括號

給定乙個只包含 和 的字串,找出最長的包含有效括號的子串的長度。示例 1 輸入 輸出 2 解釋 最長有效括號子串為 示例 2 輸入 輸出 4 解釋 最長有效括號子串為 思路 記錄左右括號的個數 相等了就比較更新答案 如果count2 count1 就結算 從0開始 注意 還要從右向左遍歷!不然會漏掉...

LeetCode 字串 有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 示例 輸入 輸出 true 輸入 輸出 false 輸入 輸出 true 用棧來做。遍歷輸入的字串序列,當當前元素為右括號 並且棧頂元素為當前元素對應的左括號 if s 0 s 0 s 0 stackstk stk.push s 0 for ...