给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。


func isValid(s string) bool {if len(s)%2 == 1{//扣号数一定是偶数return false}stack := []byte{}//建立栈pairs := map[byte]byte{//建立哈希表(映射)')':'(','}':'{',']':'[',}for i:=0;i<len(s);i++{//遍历字符串if pairs[s[i]]>0{//大于零表示该字符是右括号.需要判断进行匹配//判断len(stack)是否为零是因为左括号被压入栈中,而此时匹配的是右括号,//若栈为空,则无法进行括号匹配if len(stack) == 0 || stack[len(stack)-1] !=pairs[s[i]]{return false}//若可以匹配,则左括号出栈stack = stack[0:len(stack)-1]}else{//此时表示当前字符为左扣号,需要压入栈中stack = append(stack,s[i])}}return len(stack) == 0}```[[20. 有效的括号](/problems/valid-parentheses/)]()]()
