- 首先遍历一遍原数组,分别记录 0,1,2 的个数。
- 然后更新原数组,按个数分别赋上 0,1,2。
class Solution {
public:
void sortColors(vector<int>& nums) {
vector<int> colors(3);
for (int num : nums) ++colors[num];
for (int i = 0, cur = 0; i < 3; ++i) {
for (int j = 0; j < colors[i]; ++j) {
nums[cur++] = i;
}
}
}
};