leetcode(刷题第一天2)——283. 移动零

数据结构 

数组

283. 移动零

  

 

 

 解题思路:

    首先要考虑怎么让非零元素排序有序?就是用一个变量来记录下标,

    然后遍历这个数组,让不等于0的元素存入这个变量中,每次存储一个变量,下标就加1。

    最后根据下标的长度到这个数组的长度来遍历循环,让剩下的下标用0来代替

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        # 记录下标的位置
        index = 0
        # 遍历这个数组
        for i in nums:
            # 如果不等于0,就把这个值存储到index这个下标里面,
            # 然后让index加1,就是往后移动一位为下一个不为0的数进行存储
            if i != 0:
                nums[index] = i
                index += 1
        # 遍历完后用range()函数统计index,到数组的长度是否还有空的位置
        # 如果有就遍历,用0去占位
        for i in range(index, len(nums)):
            nums[i] = 0
if __name__ == "__main__":
    a = Solution()
    b = [0, 2, 0, 3, 1]
    a.moveZeroes(b)
    print(b)

 

如有看不懂或没有理解,请评论或私信我

posted @ 2020-12-04 16:55  漫天鑫  阅读(12)  评论(0)    收藏  举报