您的位置:首页 > 其它

LeetCode – Refresh – Permutations

2015-03-22 14:52 369 查看
Classical problem:

class Solution {
public:
void getP(vector<vector<int> > &result, vector<int> &num, vector<int> current, vector<bool> rec) {
if (current.size() == num.size()) {
result.push_back(current);
return;
}
for (int i = 0; i < num.size(); i++) {
if (rec[i]) continue;
rec[i] = true;
current.push_back(num[i]);
getP(result, num, current, rec);
rec[i] = false;
current.pop_back();
}
}
vector<vector<int> > permute(vector<int> &num) {
vector<vector<int> > result;
sort(num.begin(), num.end());
getP(result, num, vector<int> (), vector<bool> (num.size(), false));
return result;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: