【新手上路】LeetCode刷题之“移动零”

【新手上路】LeetCode刷题之“移动零”_第1张图片

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        num = 0
        while nums.count(0) != 0:
            nums.remove(0)
            num += 1
        for i in range(num):
            nums.append(0)
class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        length = len(nums)
        while nums.count(0) != 0:
            nums.remove(0)
        new_length = len(nums)
        for i in range(length-new_length):
            nums.append(0)

【新手上路】LeetCode刷题之“移动零”_第2张图片

 c语言的简单做法貌似需要双指针算法,大致看了一下题解,等我会了再回来补吧。

以下是发布该文章第二天编辑的内容:

void swap(int *a,int *b) //传入的是两个指针,所以可以直接通过地址修改里面的内容
{
    int t=*a;
    *a = *b;
    *b = t;
}

void moveZeroes(int *nums,int numSize)
{
    int left =0,right=0;  //left是左侧以处理数据的最右端;right是右侧未处理数据的最左端
    while(right

注:以上的代码并不是我想出来的,而且LeetCode题解(是大佬--小工出品的代码),然后我昨晚在梦里再思考了一下,再总结了一下,发到CSDN。

你可能感兴趣的:(leetcode,算法,职场和发展)