在Python中就地将零移动到列表末尾
假设我们有一个数字nums的列表,我们必须通过就地更新列表将所有零放在列表的末尾。并且其他元素的相对顺序不应更改。我们必须尝试在O(1)额外空间中解决此问题。
因此,如果输入类似于[2,0,1,4,0,5,6,4,0,1,7],则输出将为[2,1,4,4,5,6,4,1 ,7,0,0,0]
为了解决这个问题,我们将遵循以下步骤-
如果L的大小等于0,则
返回一个空白列表
k:= 0
对于0到L的范围内的i
L [k]:= L [i]
k:= k + 1
如果L [i]不等于0,则
对于k到k到L大小的j
L [j]:= 0
返回L
让我们看下面的实现以更好地理解-
示例
class Solution:def solve(self, L):
if len(L) == 0:
return []
k = 0
for i in range(len(L)):
if L[i] != 0:
L[k] = L[i]
k+=1
for j in range(k,len(L)):
L[j] = 0
return L
ob = Solution()L = [2,0,1,4,0,5,6,4,0,1,7]
print(ob.solve(L))
输入项
[2,0,1,4,0,5,6,4,0,1,7]
输出结果
[2, 1, 4, 5, 6, 4, 1, 7, 0, 0, 0]
以上是 在Python中就地将零移动到列表末尾 的全部内容, 来源链接: utcz.com/z/360589.html