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)
如有看不懂或没有理解,请评论或私信我

浙公网安备 33010602011771号