今天結合面試題實現一個數組的全排列;git
試想,咱們要對123進行全排列:面試
string str = "1234"; #region 全排列 static void allPermutation(char[] arr, int start, int end) { if (start == end) { for (int i = 0; i < arr.Length; i++) { System.Console.Write(arr[i]); } System.Console.Write("\n"); } else { for (int i = start; i <= end; i++) { swap(arr, i, start);//將某一位置換到第一位固定 allPermutation(arr, start + 1, end); swap(arr, i, start);//還原上面置換 } } } static void swap(char[] arr, int left, int right) { char temp = arr[left]; arr[left] = arr[right]; arr[right] = temp; } #endregion