leetcode707. 设计链表

leetcode707. 设计链表

题目

在这里插入图片描述在这里插入图片描述

思路

1.使用虚头节点,模拟class的初始化
2.class中添加一个链表长度的属性,便于后续操作

代码

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

相关推荐

  1. leetcode707.设计

    2024-02-10 07:10:01       59 阅读
  2. Leetcode707. 设计

    2024-02-10 07:10:01       68 阅读
  3. LeetCode:707. 设计

    2024-02-10 07:10:01       56 阅读
  4. 707.设计(力扣LeetCode

    2024-02-10 07:10:01       56 阅读
  5. 707 设计——dummyHead好用

    2024-02-10 07:10:01       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-10 07:10:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-10 07:10:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-10 07:10:01       82 阅读
  4. Python语言-面向对象

    2024-02-10 07:10:01       91 阅读

热门阅读

  1. (50)矩阵对角线元素的和

    2024-02-10 07:10:01       47 阅读
  2. Spring 如何配置 bean (XML 方式)

    2024-02-10 07:10:01       49 阅读
  3. http&rpc different

    2024-02-10 07:10:01       49 阅读
  4. 使用深度学习对网络摄像头图像进行分类

    2024-02-10 07:10:01       54 阅读
  5. 5 scala的函数式编程简介

    2024-02-10 07:10:01       48 阅读