剑指offer - 面试题28:字符串的排列(递归+去重)
题目:输入一个字符串,打印出该字符串中字符的所有排列。 例如:输入字符串abc,则打印出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。 但是,还应当考虑字符串中是否有重复元素,如“112”的全排列只有“112、121、211”三种情况;思路分析: (1)把一个字符串看成由两部分组成:第一部分为它的第一个字符,第二部分是后面的所有字符。 (2)求整个字