Saturday, March 11, 2017

sortBinary

public int[] sortBinary(int[] array) {
if (array == null || array.length == 0) {
return array;
}
int left = 0;
int right = array.length - 1;
while (left <= right) {
//while (left <= right && array[left] != 0) left++;
//while (left <= right && array[right] == 0) right--;
if (array[left] != 0) {
left++;
} else if (array[right] == 0) {
right--;
} else {
swap(array, left, right);
}
}
return array;
}

private void swap(int[] array, int left, int right) {
int temp = array[left];
array[left] = array[right];
array[right] = temp;

}

No comments:

Post a Comment