class ListNode:
def __init__(self, val):
self.val = val
self.next = None
class MyLinkedList:
def __init__(self):
self.size = 0 # 链表长度
self.head = ListNode(0)
def get(self, index: int) -> int:
cur = self.head
if index < 0 or index >= self.size:
return -1
for _ in range(index+1):
cur = cur.next
return cur.val
def addAtHead(self, val: int) -> None:
'''
add_head = ListNode(val)
add_head.next = self.head
self.head = add_head
'''
self.addAtIndex(0, val)
def addAtTail(self, val: int) -> None:
'''
add_end = ListNode(val)
cur = self.head
while cur.next:
cur = cur.next
cur.next = add_end
'''
self.addAtIndex(self.size, val)
def addAtIndex(self, index: int, val: int) -> None:
add_node = ListNode(val)
cur = self.head
if index > self.size:
return
elif index < 0: # 头部插入
index = 0
self.size += 1
for _ in range(index):
cur = cur.next
add_node.next = cur.next
cur.next = add_node
def deleteAtIndex(self, index: int) -> None:
cur = self.head
if index < 0 or index >= self.size:
return
self.size -= 1
for _ in range(index):
cur = cur.next
cur.next = cur.next.next
使用 python3 实现一个链表
需积分: 0 85 浏览量
2024-01-04
23:15:09
上传
评论
收藏 577B ZIP 举报
张无忌打怪兽
- 粉丝: 2047
- 资源: 1197
最新资源
- Q1.py
- 企业政府灵智电子政务网站系统-lingzhi.rar
- Thinkphp内核开发Lsky Pro兰空图床网站源码.rar
- 基于FPGA(XC6SLX9)+SDRAM+AD7829多通道数据采集板硬件(原理图+PCB)工程文件.zip
- 阿里巴巴精准测试体系:基于代码链路分析的性能优化方案
- mmexport1714217773503.jpg
- 【图片网盘外链系统5.0】全新前端UI界面设计 支持图片违规检测网站自适应H5源码.rar
- jsp+sql的BBS论坛系统.zip
- 网盘外链PHP开发彩虹网盘外链程序源码.rar
- 2023年最新文件快递柜系统网站源码 保护用户隐私的匿名口令分享和临时文件分享功能.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈