老哥你第一题的解法是O(N^2)的吧,面试官没要求O(N)吗? 应该用快排的partition来解决吧。 public static void swap(int[] arr, int i, int j) {     if (i == j) return;     arr[i] = arr[i] ^ arr[j];     arr[j] = arr[i] ^ arr[j];     arr[i] = arr[i] ^ arr[j]; } public static void partition(int[] arr) {     int less = -1;     int more = arr.length;     int l = 0;     while (l < more) {         if (arr[l] == 1) {             swap(arr, ++less, l++);         } else if (arr[l] == 0) {             swap(arr, --more, l);         } else {             l++;         }     } }