diff --git a/rust/0280-wiggle-sort.rs b/rust/0280-wiggle-sort.rs new file mode 100644 index 000000000..5df4a1de6 --- /dev/null +++ b/rust/0280-wiggle-sort.rs @@ -0,0 +1,11 @@ +impl Solution { + pub fn wiggle_sort(nums: &mut Vec) { + for i in 1..nums.len() { + if (i % 2 == 0 && nums[i] > nums[i - 1]) || (i % 2 == 1 && nums[i] < nums[i - 1]) { + nums[i] ^= nums[i - 1]; + nums[i - 1] ^= nums[i]; + nums[i] ^= nums[i - 1]; + } + } + } +}