Cover image for leetcode热题100 P75 颜色分类

leetcode热题100 P75 颜色分类

字数 162
阅读
访客

时间轴

时间轴

2026-03-17

init

双指针

题目:

双指针

123456789101112131415161718192021222324252627282930313233343536373839404142
#include <vector>using std::vector;class Solution {    public:        void sortColors(vector<int> &nums)        {                // n == nums.length                // 1 <= n <= 300                // nums[i] 为 0、1 或 2                int n = nums.size();                int red = 0, blue = n - 1;                int i = 1;                while (red < blue && i <= blue) {                        if (nums[i] == 0) {                                if (i != red)                                        std::swap(nums[i], nums[red]);                                else                                        i++;                                red++;                        } else if (nums[i] == 2) {                                if (i != blue)                                        std::swap(nums[i], nums[blue]);                                else                                        i++;                                blue--;                        } else {                                i++;                        }                }        }};int main(){        vector<int> nums = { 2, 0, 2, 1, 1, 0 };        Solution S;        S.sortColors(nums);}
评论加载中…