day4
1.24链表结点两两交换:更改结点指向前,要先暂存该结点的后一个结点位置。
2.19删除链表倒数第n个元素:快慢指针法,快指针比慢指针多走n+1步,当快指针走完到达空指针时,慢指针指向待删除元素的前一个结点。
3.160两条链表相交:先求出两条链表的长度差,然后将在更长的链表(先判断,不是就再交换,确保curA是长链)上移动的curA移动到B链的头结点curB,对齐之后同时移动这两个指针,一旦curA==curB就说明到达了两条链表相交的初始位置。
4.142环形链表:快慢指针法,快指针每次移动两步,慢指针每次移动一步,如果有环存在,则快指针和慢指针一定会在环中相遇(两个指针都进入环后,在相对状态下,慢指针是静止的,快指针每次移动一步,所以一定会相遇)。且经过公式得出,头结点到入环点的距离与两个指针的相遇点到入环点的距离相等,因此可以通过这个条件求出入环点的位置。
2.19删除链表倒数第n个元素:快慢指针法,快指针比慢指针多走n+1步,当快指针走完到达空指针时,慢指针指向待删除元素的前一个结点。
3.160两条链表相交:先求出两条链表的长度差,然后将在更长的链表(先判断,不是就再交换,确保curA是长链)上移动的curA移动到B链的头结点curB,对齐之后同时移动这两个指针,一旦curA==curB就说明到达了两条链表相交的初始位置。
4.142环形链表:快慢指针法,快指针每次移动两步,慢指针每次移动一步,如果有环存在,则快指针和慢指针一定会在环中相遇(两个指针都进入环后,在相对状态下,慢指针是静止的,快指针每次移动一步,所以一定会相遇)。且经过公式得出,头结点到入环点的距离与两个指针的相遇点到入环点的距离相等,因此可以通过这个条件求出入环点的位置。
全部评论
相关推荐
10-16 16:39
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享