字串全排列 java實現

2021-08-07 15:06:48 字數 592 閱讀 7793

經常會遇到字串全排列的問題。例如:輸入為,則其全排列組合為abc,acb,bac,bca,cba,cab。對於輸入長度為n的字串陣列,全排列組合為n!種。

思路:從字串陣列中每次選取乙個元素,作為結果中的第乙個元素。然後,對剩餘的元素全排列,步驟跟上面一樣。很明顯這是個遞迴處理的過程,一直到最後即可。

按照慣例,talk is cheap,show me the code:

package leilei.bit.edu.tree;

public

class recursiontree else }}

public

static

void

swap(char s,int i,int j)

public

static

void

main(string args) ;

permutation(s, 0, 2);

}}

**執行結果

abc

acbbac

bcacba

cab

**:

字串全排列 java實現

經常會遇到字串全排列的問題。例如 輸入為,則其全排列組合為abc,acb,bac,bca,cba,cab。對於輸入長度為n的字串陣列,全排列組合為n 種。思路 從字串陣列中每次選取乙個元素,作為結果中的第乙個元素。然後,對剩餘的元素全排列,步驟跟上面一樣。很明顯這是個遞迴處理的過程,一直到最後即可。...

Java遞迴實現字串全排列

public class allstrings system.out.println chs的全排列如下 as.getallstrings chs,0 public void getallstrings char chs,int from 基本思想 遞迴 遞迴流程 要從下標from開始,輸出從fro...

Java實現字串的全排列總結

在劍指offer上刷題時遇到的題目 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba 輸入乙個字串,長度不超過9 可能有字元重複 字元只包括大小寫字母。本部落格參考 1.2.本題目用到...