阅读背景:

求字符串全排列

来源:互联网 

Q:输入一个字符串,打印出该字符串中字符的所有排列


A:以abc为例,我们首先将a固定在第一位,然后排列bc,当bc排列完成后,我们会将b固定在第一位,也就是交换a和b的位置,变成bac,然后排列ac,当ac排列完成后,我们需要将c固定在第一位,先将a和b的位置复原,在交换a和c的位置即可。因此,用递归来求解再自然不过。对于字符串abcdedfgh….,在以begin为开头的子串中,我们要依次将子串的每一个字符固定在首位,这需要依次swap操作,然后我们递归的处理子串开头之后的更小子串的排列,当处理好之后,我们回到该子串,再将刚才的swap操作重新操作一遍。 A:以abc为例,我们首先将a



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: