题解 | #全排列#

全排列

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

//C++版代码
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
    string s;
    cin >> s;
    do {
        cout << s << endl;
    } while (next_permutation(s.begin(), s.end()));
    return 0;
}
//Java版代码
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
    private static List<String> result = new ArrayList<>();
    private static StringBuilder path = new StringBuilder();
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        backtracking(s);
        result.forEach(System.out::println);
    }
    private static void backtracking(String s) {
        if (path.length() == s.length()) {
            result.add(new String(path));
            return;
        }
        for (int i = 0; i < s.length(); i++) {
            if (path.indexOf(String.valueOf(s.charAt(i))) != -1) continue;
            path.append(s.charAt(i));
            backtracking(s);
            path.deleteCharAt(path.length() - 1);
        }
    }
}
//Python版代码
from itertools import permutations
print(*map(''.join, permutations(input())), sep='\n')

全部评论

相关推荐

码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:24
大家还是用ai改吧,我心疼得要死,就当花钱买教训吧,人家直接拿完钱就跑路了
程序员小白条:简历修改700....神奇,又不是帮你面试,咋的,简历修改从双非变92了还是没实习变成有大厂实习了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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