最近,女友一直在面试,期间被考到过这道题。初次问我的时候,我愣了好久才想出来算法,这要是当时面试的是我的话,估计也答不上来了。看来以后得常常做一些这方面的小的动手,免得用到的时候方恨少。
一,字符长的全排列和组合算法
用**语言写一个函数, 如 Foo(const char *str), 打印出 str 的全排列,
如 abc 的全排列: abc, acb, bca, dac, cab, cba。
1,递归实现
算法:全排列就是从第一个字符起每个字符分别与它后面的字符交换
实现语言(Java):