LeetCode(75) Sort Colors

来源:互联网 发布:腾讯来电软件怎么回事 编辑:程序博客网 时间:2024/05/01 16:02

参考Life In Code
和计数排序一样,排序高效的原因是并没有模拟现实生活中的搬移,而是进行信息的搬移。

代码如下:

class Solution {public:    void sortColors(vector<int>& nums) {        int zeroPos = -1;        int onePos = -1;        int twoPos = -1;        for(int i = 0; i < nums.size(); i++) {            if(0 == nums[i]) {                nums[++twoPos] = 2;                nums[++onePos] = 1;                nums[++zeroPos] = 0;                continue;            }            if(1 == nums[i]) {                nums[++twoPos] = 2;                nums[++onePos] = 1;                continue;            }            if(2 == nums[i]) {                nums[++twoPos] = 2;                continue;            }        }    }};
0 0