题解 | #有效括号序列#

有效括号序列

https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

package main

/**
  * 
  * @param s string字符串 
  * @return bool布尔型
*/
func isValid( s string ) bool {
    str := s
	if len(str) == 0 {
		return true
	}
	stack := make([]string, 0)
	for i := 0; i < len(str); i++ {
		if str[i] == '(' || str[i] == '[' || str[i] == '{' {
			stack = append(stack, string(str[i]))
		} else {
			if len(stack) == 0 || getAdapt(stack[len(stack)-1]) != string(str[i]) {
				return false
			}
			stack = stack[:len(stack)-1]
		}
	}
	if len(stack) != 0 {
		return false
	}
	return true
}

func getAdapt(s string) string {
	switch s {
	case "(":
		return ")"
	case "[":
		return "]"
	case "{":
		return "}"
	}
	return ""
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务