题解 | #全排列#

全排列

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)

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 14:35
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 14:11
很喜欢小米的新车,校招薪资每月22k,攒多久能买?
测试糕手手:别看工资,先看现金流存款。有50W存款以上再考虑,车是消耗品,选适合自己的重要。你有钱就当我没说过
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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