存储数据:List/LinkedList
Python的List是用连续数组实现的。所以直接用List来作为存储数据的数组就OK了。
链表的实现也很简单,下面是链表的形式。下一节我们看如何用链表简单实现栈和队列。
class ListNode:
def __init__(self, val=None, next=None):
self.val = val
self.next = next
class LinkedList:
def __init__(self):
self.tail = ListNode()
self.head = ListNode(next=self.tail)例题:移除元素 [LC27]
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,
并返回移除后数组的新长度。
输入:nums = [3,2,2,3], val = 3
输出:2, nums = [2,2]def removeElement(nums, val):
l, r = 0, len(nums)-1
while l<=r:
if nums[l]==val:
nums[l] = nums[r]
r -= 1
else:
l += 1
return lLast updated
Was this helpful?