Open Mrfuture1 opened 6 years ago
coding-interviews/src/Test28.java
tmp = chars[begin]; chars[begin] = chars[i]; chars[i] = tmp; // 处理下一个位置 permutation(chars, begin + 1);
//permutation(chars, begin + 1);后添加代码: tmp = chars[i]; chars[i] = chars[begin]; chars[begin] = tmp;
是的,应该要做回溯,这样才能打印出正确结果; 另外,没有考虑字符重复的问题,比如“abb”,那么排列应该改成3种结果 建议加个set做一下重复过滤
coding-interviews/src/Test28.java