27.移除元素--python

题目:给定一个数组nums和值val,原地移除数组中所有数值等于val的元素,返回移除后数组的新长度

法:和leetcode26思路一样,都是用快慢指针,但这次是将nums[fast]与val比较,

1) 不同的话就把nums[slow]=nums[fast],再将slow与fast同时后移

2)相同的话,只移动fast

def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        length=len(nums)
        if length==0 :return 0
        slow,fast=0,0
        while fast<length:
            if nums[fast]!=val:
                nums[slow]=nums[fast]
                slow+=1
                fast+=1
            else:
                fast+=1
                
        return slow

猜你喜欢

转载自blog.csdn.net/karen17/article/details/88890312