package main
import "fmt"
func isValid(s string) bool {
if len(s) <= 1 {
return false
}
chMap := map[byte]byte{
'{': '}',
'[': ']',
'(': ')',
}
stack := []byte{}
for i := 0; i < len(s); i++ {
if s[i] == '{' || s[i] == '(' || s[i] == '[' {
stack = append(stack, s[i])
} else {
if len(stack) == 0 {
return false
}
top := stack[len(stack)-1]
if chMap[top] != s[i] {
return false
}
stack = stack[:len(stack)-1]
}
}
return len(stack) == 0
}
func main() {
fmt.Println(isValid("()[]{}"))
fmt.Println(isValid("()[]{]"))
fmt.Println(isValid("("))
}
20. 有效的括號
相關文章
- Leetcode——20. 有效的括號LeetCode
- 【LeetCode】 20.有效的括號LeetCode
- LeetCode 20. 有效的括號LeetCode
- 有效的括號
- [leetcode]有效的括號LeetCode
- LeetCode有效的括號(Python)LeetCodePython
- 最長有效括號
- Leetcode20. 有效的括號LeetCode
- 【LeetCode-棧】有效的括號LeetCode
- 每日一題: 有效括號每日一題
- 最長有效括號的問題
- 每日一練(36):有效的括號
- LeetCode-20. 有效的括號(棧模擬)LeetCode
- Leetcode 20 有效的括號valid-parentheses(棧)LeetCode
- [Go 演算法]20:有效括號(棧)Go演算法
- LeetCode 之 JavaScript 解答第20題 —— 有效的括號(Valid Parentheses)LeetCodeJavaScript
- 演算法題:判斷括號字串是否有效演算法字串
- Python有效括號字串判斷和深度計算Python字串
- 理解正規表示式中的括號 (),方括號 [] 和大括號 {}
- 讓我們一起啃演算法----有效的括號演算法
- {} 花括號的用法
- c++物件建立帶括號與無括號的區別C++物件
- 【leetcode】32. Longest Valid Parentheses 最長的有效匹配括號子串長度LeetCode
- 括號畫家
- 【棧】括號匹配
- 【題解】括號序列
- Shell 括號總結
- latex 中乘號、恆等號、花括號的寫法
- 萬用字元 and [] 中括號的用法字元
- 程式碼隨想錄演算法訓練營第第11天 | 20. 有效的括號 、1047. 刪除字串中的所有相鄰重複項 、150. 逆波蘭表示式求值演算法字串
- 雙括號初始化
- leetcode:遞迴:括號生成LeetCode遞迴
- 括號生成-LeetCode22LeetCode
- LeetCode-022-括號生成LeetCode
- 各種括號的英文名稱
- leecode856.括號中的分數
- latex 中乘號、恆等好、花括號的寫法
- 力扣 22. 括號生成力扣