Wiggle Sort
Given an unsorted array nums, reorder it in-place such that nums[0] <= nums[1] >= nums[2] <= nums[3]....
For example, given nums = [3, 5, 2, 1, 6, 4], one possible answer is [1, 6, 2, 5, 3, 4].
Solution
public class Solution {
    public void wiggleSort(int[] nums) {
        int index = 0;
        boolean swicth = true;
        while (index < nums.length - 1) {
            if ((swicth && nums[index] > nums[index + 1]) || (!swicth && nums[index] < nums[index + 1])) {
                swap(nums, index, index + 1);
            }
            swicth = swicth ? false : true;
            index++;
        }
    }
    private void swap(int[] nums, int start, int end) {
        int temp = nums[start];
        nums[start] = nums[end];
        nums[end] = temp;
    }
}