网站文章发布,wordpress模板不一样,网站后台文章字体,网站 微信维护怎么做一、 题单
206.反转链表203.移除链表元素 876.链表的中间结点BM8 链表中倒数最后k个结点21.合并两个有序链表
二、题目简介及思路 206.反转链表 给你单链表的头节点 head #xff0c;请你反转链表#xff0c;并返回反转后的链表。 思路简单#xff0c;但是除了要两个指针进…
一、 题单
206.反转链表203.移除链表元素 876.链表的中间结点BM8 链表中倒数最后k个结点21.合并两个有序链表
二、题目简介及思路 206.反转链表 给你单链表的头节点 head 请你反转链表并返回反转后的链表。 思路简单但是除了要两个指针进行反转外还需要一个指针保存链接关系。 我的题解 203.移除链表元素 给你一个链表的头节点 head 和一个整数 val 请你删除链表中所有满足 Node.val val 的节点并返回 新的头节点 。 方法一遍历删除所有值为val的值 我的题解 方法二找值不是val的尾插到新链表返回 我的题解 876.链表的中间结点 给你单链表的头结点 head 请你找出并返回链表的中间结点。 如果有两个中间结点则返回第二个中间结点。 快慢指针一开始都指向头然后快的走两步慢的走一步最后慢的会正好停在中间。 我的题解 BM8 链表中倒数最后K个结点 输入一个长度为 n 的链表设链表中的元素的值为 ai 返回该链表中倒数第k个节点。如果该链表长度小于k请返回一个长度为 0 的链表。 可以使用先遍历一变数个数再遍历一遍到倒数第k个数但是这样麻烦且繁琐。 可以使用快慢指针让快指针先走k步快慢指针再一起走。 我的题解 21.合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 取小的尾插 比203的还简单一点但是也要考虑一些细节。 我的题解
三、总结
单链表在进行操作的时候一定要注意它的链接关系可能需要定义多个指针才能完成操作要时刻注意链接关系是否已经改变一定要画图新链表尾插快慢指针改变链接关系...尾插要考虑这个链表是不是空的不要对空指针进行一顿操作。特殊情况一定要多找找多列举带入边界值尝试有很多小细节。