package main
import "fmt"
func main() {
// 判断一段字符串中的括号是否正确成对,以下是5个测试字符串
teststr1 := "(a(b(c)))"
fmt.Printf("teststr1:%v\n", determine(teststr1))
teststr2 := "(a(bqweqw(zxcxzc)s(a)d(c)qweweq()))"
fmt.Printf("teststr1:%v\n", determine(teststr2))
teststr3 := "(q(weu((qw(ja(sk()(d)a)k)))shda)skhd"
fmt.Printf("teststr1:%v\n", determine(teststr3))
teststr4 := "))(q(weu((qw(ja(sk()(d)a)k)))shda)skhd"
fmt.Printf("teststr1:%v\n", determine(teststr4))
teststr5 := "ll)(q(weu((qw(ja(sk()(d)a)k)))shda)skhd"
fmt.Printf("teststr1:%v\n", determine(teststr5))
}
func determine(str string) bool {
var sl []string
for _, c := range str {
if string(c) == "(" || string(c) == ")" {
sl = append(sl, string(c))
}
}
for i := 0; i < len(sl); i++ {
if i == 0 && sl[i] == ")" {
return false
}
if sl[i] == "(" {
continue
} else {
sl = append(sl[:i-1], sl[i+1:]...)
i = 0
}
}
if len(sl) == 0 {
return true
}
return false
}
分享一段代码片段:判断一段字符串中的括号是否正确配对
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- function isAdjoin(a, b) { const aStr = a.join('-'); const...
- def fun(s): d={"数字":0,"字母":0,"其他":0} for i in s: if i.isd...
- 本题的题意是以第一个出现的字母作为参照,只要之后出现相同的字母并且和第一个字母不相邻,那么就删除。为防止删除某些字...
- 假设有一个字符串aabcad,请写一段程序,去掉字符串中不相邻的重复字符串,即上述字符串处理之后的输出结果为:aa...