程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> LeetCode----Move Zeroes

LeetCode----Move Zeroes

編輯:C++入門知識

LeetCode----Move Zeroes


Move Zeroes

 

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].

Note:

  1. You must do this in-place without making a copy of the array.
  2. Minimize the total number of operations.

    分析:

    將數組中0移到數組後面去,注意要保持數組的相對元素位置不變。

     

    代碼:

     

    class Solution(object):
        def moveZeroes(self, nums):
            
            :type nums: List[int]
            :rtype: void Do not return anything, modify nums in-place instead.
            
            nums_l = len(nums)
            if nums_l <= 1:
                return
            z = i = 0
            while i < nums_l:
                t = nums[i]
                if t:
                    nums[i] = 0
                    nums[z] = t
                    z += 1
                i += 1

     

     

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved