280. Wiggle Sort

https://leetcode.com/problems/wiggle-sort/description/

280. Wiggle Sort_第1张图片
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;
    }

你可能感兴趣的:(280. Wiggle Sort)