当前位置:   article > 正文

Leetcode学习之链表_leetcode optional

leetcode optional

链表

链表定义

链表是由一系列节点组成的元素集合,每个节点包括两部分,数据域**item和指向下一个节点的指针next**。通过节点之间的互相连接,最终串联成一个链表

head ----> 86| | ----> 19| | ---->4| |---->12| |
  • 1

创建

class Node:
    def __init__(self,item):
        self.item = item
        self.next = None

a = Node(1)
b = Node(2)
c = Node(3)
a.next = b
b.next = c

print(a.next.item)	# 2
print(a.next.next.item) # 3
print(a.next.next.next.item) # AttributeError: 'NoneType' object has no attribute 'item'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

链表的逻辑结构与存储结构

逻辑结构:数据元素之间的逻辑 ,如:线性结构,树形结构,图结构

存储结构

  • 顺序存储:又称为顺序表,逻辑上相邻的元素物理位置也相邻
1
2
3
4
5
  • 链式存储:又称为单链表,逻辑上相邻的物理元素位置上不一定相邻
1
2
3
4
5
  • 索引存储
  • 散列存储

单链表的定义

代码书写如下

class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next
  • 1
  • 2
  • 3
  • 4

带头节点的链表(书写方便)

头结点 结点1 结点2 结点3 NULL

不带头结点的链表

结点1 结点2 结点3 结点10 NULL

链表插入元素

带头结点插入

头插入法1.png

头插入法2

头插法创建代码

def create_linklist_head(li):
    head = Node(li[0])
    for element 
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/383343
推荐阅读
相关标签
  

闽ICP备14008679号