你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

NC121 字符串的排列

2021/12/14 16:54:22

NC121 字符串的排列

void dfs(int h, string str, set<string>& s) {
	if (h == str.size() - 1) {
		s.insert(str);
		return;
	}
	for (size_t i = 0; i < str.size(); ++i) {
		swap(str[i], str[h]);
		dfs(h + 1, str, s);
		swap(str[i], str[h]);
	}
}
vector<string> Permutation(string str) {
	vector<string> ret;
	if (str.empty()) {
		return ret;
	}
	set<string> s;
	dfs(0, str, s);
	for (set<string>::iterator it = s.begin(); it != s.end(); ++it) {
		ret.push_back(*it);
	}
	return ret;
}