力扣(代码随想录)链表篇

52 阅读1分钟

链表的概念

链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)

移除链表元素

1.设置虚拟头节点

    let lte=new ListNode(0,head)

反转链表

1.双指针法:先储存下一个节点的数据,然后传递给当前节点

两两交换链表的节点

需要采用虚拟节点加存储两个节点位置的方法

删除链表的倒数第N个节点

采用双指针,快指针先走N个节点

链表相交

需要保证末尾长度相同,将长的链表先走一部分节点,保证两链表长度相同

环形链表

1.判断链表是否有环。2.如果有环,如何找到环的入口。 采用快慢指针的方法:快慢指针相等后,将慢指针与头节点再相遇就是入口