题解 | #全排列#

全排列

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

#include <iostream>
#include<algorithm>
using namespace std;

void Perm(string &str,int index,int len){
    if(index==len-1){
        for(int i=0;i<len;i++){
            cout<<str[i];
        }
        cout<<endl;
    }
    for(int i=index;i<len;i++){
        string s=str;
        swap(str[index],str[i]);
        sort(str.begin()+index+1,str.end());
        Perm(str,index+1,len);
        str=s;
    }
}

int main() {
    string str;
    while (cin >> str) { // 注意 while 处理多个 case
        int index=0,len=str.size();
        Perm(str,index,len);
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务