1.移除链表元素
删除链表中等于给定值 val 的所有节点。
class Solution:
def removeElements(self,head,val):
dummy_head = ListNode(next=head)
cur = dummy_head
while cur.next:
if cur.next.val == val:
cur.next = cur.next.next
else:
cur = cur.next
return dummy_head.next
2.设计链表
class ListNode:
def __init__(self,val):
self.val = val
self.next = None
class MyLink:
def __init__(self):
self._head = ListNode(0)#虚拟头部节点
self._count = 0#添加的字节数
def get(self,index):
#获取链表中第index个节点的值,如果索引无效,则返回-1
if 0 <= index < self._count:
node = self._head
for _ in range(index + 1):
node = node.next
return node.val
else:
return -1