再接着想0(n)的解法。
public class Solution {
public void wiggleSort(int[] nums) {
if (nums == null || nums.length == 0) {
return;
}
Arrays.sort(nums);
int[] res = new int[nums.length];
for (int i = 0; i < nums.length; i++) {
res[i] = nums[i];
}
int mid = (nums.length - 1)/2, end = nums.length - 1;
for (int i = 0; i < nums.length;) {
if (mid >= 0) {
nums[i] = res[mid--];
}
i++;
if (end > (nums.length-1)/2) {
nums[i] = res[end--];
}
i++;
}
}
}