輸入一個字符串,按字典序打印出該字符串中字符的全部排列。

import java.util.ArrayList;java

import java.util.Collections;code

public class Solution {io

ArrayList<String> list = new ArrayList<String>();

public ArrayList<String> Permutation(String str) {
   char a[]=str.toCharArray();
    f(a,0);
    
    Collections.sort(list);
    return list;
}

public void f(char a[],int k){
    
    if(k==a.length-1)
        list.add(new String(a));
    
    for(int i=k;i<a.length;i++){
        
       while(i!=k&&i<a.length&&a[k]==a[i])
            i++;
        
        if(i==a.length)
            break;
       
        char temp=a[k];
        a[k]=a[i];
        a[i]=temp;
        
        f(a,k+1);
        
        temp=a[k];
        a[k]=a[i];
        a[i]=temp;
    }
    
    
}

}class

相關文章
相關標籤/搜索