leetcode707. 设计链表

leetcode707. 设计链表

题目

思路

1.使用虚头节点,模拟class的初始化

2.class中添加一个链表长度的属性,便于后续操作

代码

python 复制代码
class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next
        
class MyLinkedList:
    def __init__(self):
        self.dummy_head = ListNode()
        self.size = 0

    def get(self, index: int) -> int:
        if index < 0 or index >= self.size:
            return -1
        
        current = self.dummy_head.next
        for i in range(index):
            current = current.next
            
        return current.val

    def addAtHead(self, val: int) -> None:
        self.dummy_head.next = ListNode(val, self.dummy_head.next)
        self.size += 1

    def addAtTail(self, val: int) -> None:
        current = self.dummy_head
        while current.next:
            current = current.next
        current.next = ListNode(val)
        self.size += 1

    def addAtIndex(self, index: int, val: int) -> None:
        if index < 0 or index > self.size:
            return
        
        current = self.dummy_head
        for i in range(index):
            current = current.next
        current.next = ListNode(val, current.next)
        self.size += 1

    def deleteAtIndex(self, index: int) -> None:
        if index < 0 or index >= self.size:
            return
        
        current = self.dummy_head
        for i in range(index):
            current = current.next
        current.next = current.next.next
        self.size -= 1
相关推荐
猿界零零七17 小时前
pip install mxnet 报错解决方案
python·pip·mxnet
I_LPL18 小时前
hot100贪心专题
数据结构·算法·leetcode·贪心
不只会拍照的程序猿19 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
Jay_Franklin19 小时前
Quarto与Python集成使用
开发语言·python·markdown
Oueii20 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
2401_8318249621 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
njidf21 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
@我漫长的孤独流浪21 小时前
Python编程核心知识点速览
开发语言·数据库·python
宇擎智脑科技21 小时前
A2A Python SDK 源码架构解读:一个请求是如何被处理的
人工智能·python·架构·a2a
2401_8512729921 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python