题解 | #全排列#

全排列

http://www.nowcoder.com/practice/5632c23d0d654aecbc9315d1720421c1

回溯

参考:https://mp.weixin.qq.com/s/nMUHqvwzG2LmWA9jMIHwQQ


def check(string,track):
    # 触发结束条件
    if len(track) == len(string):
        res.append(''.join(track))
        return 
    for i in range(len(string)):
        # 排除不合法的选择
        if string[i] in track:
            continue
        # 做选择
        track.append(string[i])
        check(string, track)
        # 取消选择
        track.pop()
        
# 输入字符串
string = input()
res = [] # 收集结果
track = [] # 记录走过的轨迹
check(string,track)
for i in res:
    print(i)

全部评论

相关推荐

09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
迷茫的大四🐶:都收获五个了,兄弟那还说啥,不用改了,去玩吧
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务