Skip to content

Latest commit

 

History

History
26 lines (21 loc) · 570 Bytes

280.wiggle-sort.md

File metadata and controls

26 lines (21 loc) · 570 Bytes

给你一个无序的数组  nums, 将该数字   原地   重排后使得  nums[0] <= nums[1] >= nums[2] <= nums[3]...。

示例:

输入: nums = [3,5,2,1,6,4]
输出: 一个可能的解答是 [3,5,1,6,2,4]

先排序后翻转

class Solution {
public:
    void wiggleSort(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        for (int i = 2; i< nums.size(); i+=2){
            nums[i] =  nums[i] ^ nums[i-1] ;
            nums[i-1] =  nums[i] ^ nums[i-1] ;
            nums[i] =  nums[i] ^ nums[i-1] ;
        }
    }
};