ASCII码来处理
第一种方法使用了栈的包,这种方式使用了ASCII码处理,但是,做题的时候还是需要查
//ASCII码 {123 }125 (40 )41 [91 ]93
func isValid(s string) bool {
size := len(s)
stack := make([]byte, size)
top := 0
for i:=0; i<size; i++ {
c := s[i]
switch c {
//ASCII码 {123 }125 (40 )41 [91 ]93
case '(':
stack[top] = c + 1
top++
case '[':
stack[top] = c + 2
top++
case '{':
stack[top] = c + 2
top++
case ')','}',']':
if top > 0 && stack[top-1] == c {
top--
} else {
return false
}
}
}
return top == 0
}