Cover image for LeetCode Hot 100 P75 Sort Colors

LeetCode Hot 100 P75 Sort Colors

Words 151
Views
Visitors

Timeline

Timeline

2026-03-17

init

Two pointers

Problem:

Two pointers

123456789101112131415161718192021222324252627282930313233343536373839404142
#include <vector>using std::vector;class Solution {    public:        void sortColors(vector<int> &nums)        {                // n == nums.length                // 1 <= n <= 300                // nums[i] is 0, 1, or 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);}
Loading comments…