Java for LintCode 颜色分类
给定一个包含红,白,蓝且长度为n的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。
我们可以使用整数0,1和2分别代表红,白,蓝。
解题思路:
Java for LeetCode 075 Sort Colors
public void sortColors(int[] nums) { int left = 0, right = nums.length - 1; for (int i = 0; i <= right;) { if (nums[i] == 0 && i > left) { int temp = nums[i]; nums[i] = nums[left]; nums[left] = temp; left++; } else if (nums[i] == 2 && i < right) { int temp = nums[i]; nums[i] = nums[right]; nums[right] = temp; right--; } else i++; } }