<代码>这两道题若是不使用官方题解的双指针做法,就会涉及到浅复制,深复制的问题,可参考如下https://blog.csdn.net/qq_32907349/article/details/52190796。其中,此题将要使用深复制,但这会违背题意中的不开辟新的内存空间。代码>
1。移除元素类解决方案:
def removeElement(自我,num, val):
我的j=0
范围(0,len (num)):
<代码>如果(num [j] !=val): num[我]=num [j] 我+ 1=在num k[0:我): 打印(k) 返回我代码>
使用了深复制:
进口复制类解决方案:
def removeElement(自我,num, val):
<代码> _nums=copy.deepcopy (num) _nums num的: 如果num==val: nums.remove (num) 长度=len (num) 代码返回长度,num > >之前2。删除有序数组重复元素类解决方案:
def removeDuplicates(自我,num):
=0
披散下来=len (num)
j的范围(长度):
如果num [j] !=num[我]:
我+ 1=
num[我]=num [j] .<代码> k在num (0: i + 1): 打印(k) 返回i + 1 代码>注释:其中将完成操作的新数组也进行了输出
每日一题之LeetCode移除元素删除有序数组重复元素