最近,女友一直在面試,期間被考到過這道題。初次問我的時候,我愣了好久才想出來算法,這要是當時面試的是我的話,估計也答不上來了。看來以後得常常做一些這方面的小的動手,免得用到的時候方恨少。
一,字符長的全排列和組合算法
用**語言寫一個函數, 如 Foo(const char *str), 打印出 str 的全排列,
如 abc 的全排列: abc, acb, bca, dac, cab, cba。
1,遞歸實現
算法:全排列就是從第一個字符起每個字符分別與它後面的字符交換
實現語言(Java):