package main
import (
"fmt"
)
func main() {
var s1 []string = []string{"1","1","3","4","4","4","4","5","5","12","21","4","4","5","5","12","21","4","4","5","5","12","21"}
s1 = CLearStrings(s1)
fmt.Println(s1)
}
//消除相邻的相同字符串
func CLearStrings(s []string)[]string{
for ;CheckSameStrings(s);{
fmt.Println(CheckSameStrings(s))
for i,j:=0,1;j<len(s);i,j=i+1,j+1{
if s[i] == s[j]{
copy(s[i:],s[j:])
s = s[:len(s)-1]
}
//fmt.Println(s)
}
}
return s
}
//判断一个切片中是否有相邻的两个字符串相同,是的话返回true,不是的话返回false
func CheckSameStrings(s []string)bool{
var sign bool = false
for i,j:=0,1;j<len(s);i,j=i+1,j+1{
if s[i] == s[j]{
sign = true
break
}
}
return sign
}