Partition an integers array into odd number first and even number second.

public class Solution {
    /**
     * @param nums: an array of integers
     * @return: nothing
     */
    public void partitionArray(int[] nums) {
        // write your code here;
        int start = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] % 2 != 0) {
                int temp = nums[start];
                nums[start++] = nums[i];
                nums[i] = temp;
            }
        }
    }
}
public class Solution {
    /**
     * @param nums: an array of integers
     * @return: nothing
     */
    public void partitionArray(int[] nums) {
        // similar to quick sort;
        int lo = 0, hi = nums.length - 1;
        while (lo <= hi){
            while (lo <= hi && nums[lo] % 2 != 0) {lo++;}
            while (lo <= hi && nums[hi] % 2 == 0) {hi--;}
            if(lo < hi){
                int temp = nums[lo];
                nums[lo] = nums[hi];
                nums[hi] = temp;
                lo++;
                hi--;
            }
        }
    }
}