文章目录
题目
代码(7.23 首刷看解析)
注意看题目,说了按照峰与谷
的交替顺序排序,那么只能是峰-谷-峰。
我们利用贪心的局部思想,让遍历到的每个位置都满足这样的条件,就可以了。
class Solution {
public:
void wiggleSort(vector<int>& nums) {
if(nums.size() < 2)
return;
for(int i = 1; i < nums.size(); i++) {
if(i % 2) { // 峰
if(nums[i] > nums[i-1])
swap(nums[i], nums[i-1]);
} else {
if(nums[i] < nums[i-1])
swap(nums[i], nums[i-1]);
}
}
}
};