题解 | #全排列#

全排列

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')

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 14:10
啊啊啊啊好幸福,妈妈是我找工作发疯前的一束光
榕城小榕树:你是我见过最幸福的牛客男孩
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
投了多少份简历才上岸
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 11:30
仁者伍敌:kpi都懒得刷了属于是
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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