java求abc的全排列
阿新 • • 發佈:2021-02-08
技術標籤:java
給定一個 沒有重複 數字的序列,返回其所有可能的全排列。
示例:
輸入: abc
輸出:abc acb bac bca cab cba
這裡可以使用深度優先遍歷,遍歷完a遍歷b,最後遍歷c
java程式碼如下:
public class FullPermutation {
public static void f(char data[],int k) {
if(k==data.length-1) {
for(int j=0;j<data.length;j++)
System.out.print(data[j]+" " );
System.out.println();
}
for(int i=k;i<data.length;i++) {
{char temp=data[k];data[k]=data[i];data[i]=temp;}//試探
f(data,k+1);
{char temp=data[k];data[k]=data[i];data[i]=temp;}//回溯
}
}
public static void main(String[] args) {
char data[] = "abc".toCharArray();
f(data, 0);
}
}
執行結果如下:
最後點贊收藏點一點呀