class Solution {
public:
void wiggleSort(vector<int>& nums) {
vector<int>ans(nums.size());
sort(nums.begin(),nums.end());
int index=0;
for (int i = (nums.size()-1)/2; i >=0 ; --i) {
ans[index]=nums[i];
index+=2;
}
index=1;
for (int j = nums.size()-1; j >(nums.size()-1)/2 ; --j) {
ans[index]=nums[j];
index+=2;
}
nums=ans;
}
};
感谢评论里大神对python语法的巧妙应用,让我等小白受益良多
class Solution:
def wiggleSort(self, nums):
"""
:type nums: List[int]
:rtype: void Do not return anything, modify nums in-place instead.
"""
nums.sort()
half=len(nums[::2])
#偶数部分,奇数部分=小数部分(从右往左),大数部分(从右往左)
nums[::2],nums[1::2]=nums[:half][::-1],nums[half:][::-1]