<剑指Offer>面试题38: 字符串的排列

2019-03-10  本文已影响0人  cb_guo

题目描述

题目解读

代码

#include<iostream>
using namespace std;

void swap(char *a, char *b){
    char temp = *a;
    *a = *b;
    *b = temp;
}

void percore(char *pstr, char *pbegin){
    if(*pbegin == '\0'){
        cout<<pstr<<endl;
    }
    else{
        for(char *pch=pbegin; *pch != '\0'; pch++){
            swap(pch, pbegin);
            percore(pstr, pbegin+1);
            swap(pch, pbegin);
        }
    }
}

void per(char str[]){
    percore(str, str);
}

int main(){
    char str[9] = "abc";
    per(str);
    return 0;
}

总结展望

上一篇下一篇

猜你喜欢

热点阅读