题解 | #全排列#抄的,要注意下这个全排列
全排列
https://www.nowcoder.com/practice/5632c23d0d654aecbc9315d1720421c1
#include <iostream> #include <string> #include <vector> #include <algorithm> #include <stack> #include <map> using namespace std; void permute(string s, int i) { //i是到了s的第几个位置 if (i >= s.size()) { //到结尾了,输出字符 printf("%s\n", s.c_str()); return; } for (int j = i; j < s.size(); j++) { swap(s[i], s[j]); permute(s, i + 1); } return; } int main() { string s; getline(cin, s); sort(s.begin(), s.end()); permute(s, 0); }