字符串(无重元)元素全排列程序代码(go)
package main
import"fmt"
func quanpai(i int, s []string, strArr []string)[]string{
if i == len(s) - 1{
str:= ""
for j := 0; j < len(s); j++{
str += string(s[j])
}
strArr = append(strArr,str)
}else{
for k := i; k < len(s); k++{
s[i], s[k] = s[k], s[i]
strArr = quanpai(i+1,s,strArr)
s[k], s[i] = s[i], s[k]
}
}
return strArr
}
func main(){
arr:= "abc"
arrS := []rune(arr)
strArr := make([]string, 0)
var myquanpai = quanpai(0, arrS, strArr)[:]
for_, mya := range myquanpai{
fmt.Println(mya)
}
}