https://leetcode.com/problems/wiggle-sort/description/
image.png
这道题因为只要《=,或者》=就好了
所以我们可以用一个FLAG,如果前面的数比后面的数 没按照上面的规则,换一下就好了。
public void wiggleSort(int[] nums) {
boolean lessEql = true;
for(int i = 0; i < nums.length-1; i++){
if(lessEql ){
if(nums[i] > nums[i+1])
swap(nums,i,i+1);
}else{
if(nums[i] < nums[i+1])
swap(nums,i,i+1);
}
lessEql = !lessEql;
}
}
private void swap(int[] A,int i,int j){
int tmp = A[i];
A[i] = A[j];
A[j] = tmp;
}