python 链表总结 您所在的位置:网站首页 python的listnode python 链表总结

python 链表总结

2022-06-12 16:50| 来源: 网络整理| 查看: 265

链表 链表基础知识移除链表元素设计链表翻转链表删除链表的倒数第N个节点链表相交环形链表

链表基础知识

python定义:

class ListNode: def __init__(self, val, next=None): self.val = val self.next = next

删除节点: 在这里插入图片描述 添加节点: 在这里插入图片描述 性能分析: 在这里插入图片描述

移除链表元素 在这里插入代码片 class Solution: def removeElements(self, head: ListNode, val: int) -> ListNode: 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 设计链表 get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点。插入后,新节点将成为链表的第一个节点。addAtTail(val):将值为 val 的节点追加到链表的最后一个元素。-addAtIndex(index,val):在链表中的第 index 个节点之前添加值为 val 的节点。如果 index 等于链表的长度,则该节点将附加到链表的末尾。如果 index 大于链表长度,则不会插入节点。如果index小于0,则在头部插入节点。deleteAtIndex(index):如果索引 index 有效,则删除链表中的第 index 个节点。

相当于啥也没给你,全在里面操作。

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.count = 0 # 节点数 def get(self, index: int) -> int: if 0 None: new_list = ListNode(val) cur = self.dummy_head while cur.next: cur = cur.next cur.next = new_list self.count += 1 def addAtIndex(self, index: int, val: int) -> None: if index


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有