任何人都可以帮助我如何以迭代和递归的方式打印String的所有排列?我更喜欢VB.NET或只是伪代码。
提前致谢。
答案 0 :(得分:3)
递归方法如下:
基本情况: 1个字母的排列是一个元素。
一般情况: 一组字母的排列是每个字母的列表,与其他字母的每个排列连接。
说明:
如果该套装只有一个字母,则返回该字母。 置换(a) - >一个
如果集合有两个字母,则每个字母都会返回它,并返回其余字母的排列。
置换(ab) - >
a +置换(b) - > AB
b +置换(a) - > BA
对于集合中的每个字母,将该字母连接到其余字母集合中。
置换(abc) - >
a +置换(bc) - > abc,acb
b +置换(ac) - > bac,bca
c +置换(ab) - >驾驶室,cba