题解 | #全排列#

全排列

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

#include<iostream>
#include<string>
#include<algorithm>

using namespace std;

const int MAXN = 10;

bool visited[MAXN];    //辅助数组,以标识字母是否已被使用过

char sequeue[MAXN];    //字符数组,用来记录排列好的序列


void GetPermutation(string str,int index) {  //str为需排列的字符,以字符串的形式传入,index为递归的深度
	if(index == str.size()) {   //如果递归的深度等于字符串的长度表示已经找到了排列,此时将找到的排列输出即可
		for(int i = 0; i < str.size(); ++i) {
			printf("%c",sequeue[i]);
		}
		printf("\n");
	}
	//排列
	for(int i = 0; i < str.size(); ++i) {
		if(visited[i]){   //如果字符已经被访问过,就直接跳过,不予访问
			continue;
		}
		visited[i] = true;      //如果未被访问过,就访问
		sequeue[index] = str[i];  //并放入sequeue数组中
		GetPermutation(str,index + 1);    //递归调用
		visited[i] = false;
	}
}

int main() {
	string str;
	while(cin >> str){
		//现将字符串内部进行排序
		sort(str.begin(),str.end());
		GetPermutation(str,0);
		printf("\n");
	}

	return 0;
}
全部评论

相关推荐

寿命齿轮:实习就一段还拉了,项目一看就不是手搓,学历也拉了,技术栈看着倒是挺好,就是不知道面试表现能咋样。 不过现在才大三,争取搞两端大厂实习,或者一个纯个人项目+一段大厂,感觉秋招还是未来可期。
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享
正在热议
# 25届秋招总结 #
440428次浏览 4493人参与
# 春招别灰心,我们一人来一句鼓励 #
41455次浏览 524人参与
# 阿里云管培生offer #
119781次浏览 2219人参与
# 地方国企笔面经互助 #
7923次浏览 18人参与
# 虾皮求职进展汇总 #
114057次浏览 883人参与
# 实习,投递多份简历没人回复怎么办 #
2453918次浏览 34847人参与
# 北方华创开奖 #
107295次浏览 599人参与
# 实习必须要去大厂吗? #
55665次浏览 960人参与
# 同bg的你秋招战况如何? #
75478次浏览 551人参与
# 提前批简历挂麻了怎么办 #
149813次浏览 1977人参与
# 投递实习岗位前的准备 #
1195668次浏览 18546人参与
# 你投递的公司有几家约面了? #
33170次浏览 188人参与
# 双非本科求职如何逆袭 #
661868次浏览 7394人参与
# 机械人春招想让哪家公司来捞你? #
157600次浏览 2267人参与
# 如果公司给你放一天假,你会怎么度过? #
4723次浏览 54人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11332次浏览 270人参与
# 发工资后,你做的第一件事是什么 #
12405次浏览 61人参与
# 工作中,努力重要还是选择重要? #
35599次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20087次浏览 240人参与
# 实习想申请秋招offer,能不能argue薪资 #
39225次浏览 314人参与
# 我的上岸简历长这样 #
451915次浏览 8088人参与
# 非技术岗是怎么找实习的 #
155842次浏览 2120人参与
牛客网
牛客企业服务