zoukankan      html  css  js  c++  java
  • Leetcode 283. Move Zeroes

    283. Move Zeroes

    • Total Accepted: 98144
    • Total Submissions: 216474
    • Difficulty: Easy

    Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

    For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

    思路:遇到等于0的数,直接替换或者删除。

    代码:

    写法一:16 ms

     1 class Solution {
     2 public:
     3     void moveZeroes(vector<int>& nums) {
     4         int i,size=nums.size(),begin=0;
     5         for(i=0;i<size;i++){
     6             if(nums[i]) nums[begin++]=nums[i];
     7         }
     8         for(;begin<size;begin++){
     9             nums[begin]=0;
    10         }
    11     }
    12 };

    写法二:20 ms

     1 class Solution {
     2 public:
     3     void moveZeroes(vector<int>& nums) {
     4         int i,size=nums.size(),count=0;
     5         for(i=0;i<size;i++){
     6             if(nums[i]==0) count++;
     7             else{
     8                 nums[i-count]=nums[i];
     9             }
    10         }
    11         i=i-count;
    12         for(;i<size;i++){
    13             nums[i]=0;
    14         }
    15     }
    16 };

    写法三:28 ms

     1 class Solution {
     2 public:
     3     void moveZeroes(vector<int>& nums) {
     4         int i,size=nums.size();
     5         for(i=0;i<nums.size();){
     6             if(nums[i]==0) nums.erase(nums.begin()+i);
     7             else{
     8                 i++;
     9             }
    10         }
    11         for(;i<size;i++){
    12             nums.push_back(0);
    13         }
    14     }
    15 };
  • 相关阅读:
    innerHTML与innerText区别
    HTML5中的数据集dataset和自定义属性data-*
    HTTP协议
    Javascript 中的 && 和 || 使用小结
    JavaScript 实现回文解码
    sublime中用less实现css预编译
    jQuery事件绑定的四种方法
    前端学习过程中需要看的书籍
    Echarts学习宝典
    Vue插槽
  • 原文地址:https://www.cnblogs.com/Deribs4/p/5679315.html
Copyright © 2011-2022 走看看