python 链表总结 | 您所在的位置:网站首页 › python的listnode › python 链表总结 |
链表
链表基础知识移除链表元素设计链表翻转链表删除链表的倒数第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 实验室设备网 版权所有 |