zoukankan      html  css  js  c++  java
  • 20.11.19 leetcode283

    题目链接:https://leetcode-cn.com/problems/move-zeroes/submissions/

    题意:给你一个包含若干个0的数组,要求把所有的0移动到后面,且保持其他数相对顺序不变。

    分析:第一个方法是遇到0就把后一位移过来,最后还剩多少位为空就在空的位置补0

    第二个方法是双指针,左指针指向已经处理好的尾部,右指针指向待处理头部,右指针一直往右遍历,遇到非0数就和左指针交换,同时左指针往右移动一格。

    class Solution {
    public:
        void moveZeroes(vector<int>& nums) {
            int n=nums.size();
            int left=0,right=0;
            while(right<n){
                if(nums[right]){
                    swap(nums[left],nums[right]);
                    left++;
                }
                right++;
            }
        }
    };
  • 相关阅读:
    货币
    沙漏
    秋季学习总结
    三个老师
    介绍自己
    redis 的部分配置
    第二次博客作业
    第一次阅读作业
    shell_通配符
    shell_/dev/null,>和&
  • 原文地址:https://www.cnblogs.com/qingjiuling/p/14004185.html
Copyright © 2011-2022 走看看