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
- 每日一題: 有效括號每日一題
- Leetcode20. 有效的括號LeetCode
- 【LeetCode-棧】有效的括號LeetCode
- LeetCode有效的括號(Python)LeetCodePython
- [Go 演算法]20:有效括號(棧)Go演算法
- LeetCode-20. 有效的括號(棧模擬)LeetCode
- 演算法題:判斷括號字串是否有效演算法字串
- Leetcode 20 有效的括號valid-parentheses(棧)LeetCode
- 理解正規表示式中的括號 (),方括號 [] 和大括號 {}
- Python有效括號字串判斷和深度計算Python字串
- [LeetCode] Longest Valid Parentheses 最長有效括號LeetCode
- 讓我們一起啃演算法----有效的括號演算法
- LeetCode 之 JavaScript 解答第20題 —— 有效的括號(Valid Parentheses)LeetCodeJavaScript
- c++物件建立帶括號與無括號的區別C++物件
- JavaScript中圓括號()和方括號[]的一個特殊用法JavaScript
- Matlab中的括號()[]{}Matlab
- 括號畫家
- 【棧】括號匹配
- JSON 字串中的中括號和大括號區別詳解JSON字串
- JavaScript 函式呼叫時帶括號和不帶括號的區別JavaScript函式
- [PHP字串]②--花括號{}的作用PHP字串
- Shell 括號總結
- Swift之花括號Swift
- 【題解】括號序列
- 正則中括號點符號符號
- 【leetcode】32. Longest Valid Parentheses 最長的有效匹配括號子串長度LeetCode
- 萬用字元 and [] 中括號的用法字元
- 程式碼隨想錄演算法訓練營第第11天 | 20. 有效的括號 、1047. 刪除字串中的所有相鄰重複項 、150. 逆波蘭表示式求值演算法字串
- Unix各種括號的用法總結
- ACM 括號配對問題ACM
- 22. 括號生成-c++C++
- 力扣 22. 括號生成力扣
- [C++]括號使用小技巧C++