面试题:字符串的排列题目:输入一个字串符串,打印
23 查阅
参考答案:
如何求出几个字符的所有排列,很多人都不能一下子想出解决方案。那我们是不是可以考虑把这个复杂的问题分解成小的问题呢?比如,我们把一个字符串看成由两部分组成:第一部分为它的第一个字符,第二部分是后面的所有字符。在图4.14中,我们用两种不同的背景颜色区分字符串的两部分。
我们求整个字符串的排列,可以看成两步:首先求所有可能出现在第一个位置的字符,即把第一个字符和后面所有的字符交换。图4.14就是分别把第一个字符a和后面的b、c等字符交换的情形。首先固定第一个字符(如图4.14 (