美文网首页
Golang输入一个字符串,打印出该字符串中字符的所有排列

Golang输入一个字符串,打印出该字符串中字符的所有排列

作者: ES_KYW | 来源:发表于2020-09-13 22:05 被阅读0次

    输入一个字符串,打印出该字符串中字符的所有排列。
    例如输入字符串abc,则输出由字符a、b、c 所能排列出来的所有字符串abc、acb、bac、bca、cab 和cba。
    分析:这是一道很好的考查对递归理解的编程题。
    参考网上一个Java例子,但没能理解

    func permutation( str []byte, i int)  {
        if i > len(str) {
            return
        }
        if i == len(str) -1 {
            println(string(str[:]))
        }else {
            for j := i; j<len(str);j ++  {
    
                str[j], str[i] = str[i],str[j]
    
                permutation(str,i+1)
    
                str[j], str[i] = str[i],str[j]
            }
        }
    }
    结果
        str :=[]byte{'a','b','c'}
        permutation(str,0)
    abc
    acb
    bac
    bca
    cba
    cab
    
    
    

    相关文章

      网友评论

          本文标题:Golang输入一个字符串,打印出该字符串中字符的所有排列

          本文链接:https://www.haomeiwen.com/subject/faudektx.html