(path: &mut Vec<i32>, ans: &mut Vec<Vec<i32>>, begin: usize)
| 20 | } |
| 21 | |
| 22 | fn backtrack(path: &mut Vec<i32>, ans: &mut Vec<Vec<i32>>, begin: usize) { |
| 23 | if begin == path.len() { |
| 24 | ans.push(path.to_vec()); |
| 25 | return; |
| 26 | } |
| 27 | |
| 28 | for i in begin..path.len() { |
| 29 | path.swap(i, begin); |
| 30 | Self::backtrack(path, ans, begin + 1); |
| 31 | path.swap(i, begin); |
| 32 | } |
| 33 | } |
| 34 | } |
| 35 | |
| 36 | fn main() { |