自己写的:
class Solution: # 1 2 2 3 3 4 def removeElement(self, nums, val): numms_len = len(nums) if numms_len == 0: return numms_len i = 0 while i < numms_len: if nums[i] == val: del nums[i] numms_len -= 1 else: i += 1 return numms_len
gpt的双指针法:
class Solution: def removeElement(self, nums, val): # 如果数组为空,直接返回长度为0 if not nums: return 0 # 初始化新长度为0 new_length = 0 # 遍历数组 for i in range(len(nums)): # 如果当前元素不等于val if nums[i] != val: # 将不等于val的元素移到数组的前面 # 注意这里使用新长度的索引,实现了原地修改 nums[new_length] = nums[i] # 更新新长度 new_length += 1 # 返回新长度,即为移除val后的数组长度 return new_length
标签:numms,val,nums,元素,leedcode,len,length,移除,new From: https://www.cnblogs.com/yyyjw/p/17979355