程式語言 - LeetCode - C++ - 324. Wiggle Sort II



題目:


解答:

class Solution {
public:
    void wiggleSort(vector<int>& nums) {
        vector<int> sorted = nums;
        sort(sorted.begin(), sorted.end());

        int n = nums.size();
        int m = (n + 1) >> 1;

        int l = m - 1;
        int r = n - 1;
        for (int i = 0; i < n; ++i) {
            if ((i % 2) == 0) {
                nums[i] = sorted[l--];
            }
            else {
                nums[i] = sorted[r--];
            }
        }
    }
};