【leetcode】27.Remove Element (python)
程序员文章站
2024-03-22 15:04:52
...
题目描述
Given a sorted array nums, remove the duplicates in-place such that each element appear only once and return the new length.
给定一个有序数组,直接在数组中删除重复的元素,返回新数组及其长度。
思路
设定两个指针,一个i:指向原数组,一个cur:指向新数组。
初始状态时,cur = 0,比较其与nums[1]是否相等,如果相等,继续比较其与nums[2]是否相等。直到出现一个不相等的值时,cur加一,且nums[cur] = nums[i],即在新数组中添加一个不重复的元素。
代码
class Solution:
def removeDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if not nums:
return None
cur = 0 #设定一个当前指针
for i in range(1,len(nums)):
if nums[i] != nums[cur]:
cur += 1
nums[cur] = nums[i]
return cur +1
上一篇: java socket实现多客户端群聊
下一篇: leetcode 48 旋转图像