剑指offer二刷知识点总结
全排列问题
JZ27-字符串的排列
题目描述
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
思路
首先对于有重复字母的字符串进行全排列,如果需要去重,那么可以使用TreeSet来存储,可以自动去重并排序。
思路是把每一个字符与当前第一个字符进行交换,然后递归处理以当前第一个字符为首的后面子串,待到子串处理完毕后,再把前面交换的字符再次交换过来;
递归结束的条件是待处理的子串只有
原创
2020-07-10 20:28:30 ·
216 阅读 ·
0 评论