Open Tcdian opened 4 years ago
/**
* @param {number[]} nums
* @return {void} Do not return anything, modify nums in-place instead.
*/
var sortColors = function(nums) {
let red = 0;
let blue = nums.length - 1;
let i = 0;
while (i <= blue) {
if (nums[i] === 0) {
swap(nums, i++, red++);
} else if (nums[i] === 2) {
swap(nums, i, blue--);
} else {
i++;
}
}
};
function swap(nums, x, y) {
let temp = nums[x];
nums[x] = nums[y];
nums[y] = temp;
}
/**
Do not return anything, modify nums in-place instead.
*/
function sortColors(nums: number[]): void {
let red = 0;
let blue = nums.length - 1;
let i = 0;
while (i <= blue) {
if (nums[i] === 0) {
swap(nums, i++, red++);
} else if (nums[i] === 2) {
swap(nums, i, blue--);
} else {
i++;
}
}
}
function swap(nums: number[], x: number, y: number) {
let temp = nums[x];
nums[x] = nums[y];
nums[y] = temp;
}
75. Sort Colors
给定一个包含红色、白色和蓝色,一共
n
个元素的数组,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数
0
、1
和2
分别表示红色、白色和蓝色。Example
Note
Follow up