1 leetcode707 设计链表
重点:
- 创建虚拟头部head=Node(0)
- 增删时注意各个变量名的含义
- 增删循环结束后得到两个实例,分别是要打断的部分及后续以及后续
- 查找的时候如果范围是range(index+1),因为有head,返回值为最后得到的node.next.value,如果范围是range(index+2),返回值node.value
2 python代码(附解析)
# 单链表1.0
# 先定义一个Node
class Node:
def __init__(self, value):
self.value = value
self.next = None
# 再定义一个自己的链表
class MyLinkedList:
def __init__(self):
self.head = Node(0) # 创建虚拟的头部
self.count = 0 # 用来记录添加的节点数
def get(self, index: int) -> int:
if index >= 0 and index < self.count: # 确保索引合法
node = self.head # 继承当前链表的状态
for _ i