203.移除链表元素
建议: 本题最关键是要理解 虚拟头结点的使用技巧,这个对链表题目很重要。
题目链接/文章讲解/视频讲解::代码随想录
题目:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
这道题的话,是比较基础的一道链表题,在学校的时候就可以拿下了,不过对于下一个结点这种东西总是有点绕圈子,但还是能够吃下来。这道题学了一个新的做法,就是创建一个虚拟的头节点,将原本的头节点的变成虚拟头节点的下一个结点,然后到最后的时候记得!!!一定要将原本的头节点变成虚拟节点的下一个结点,因为删除的时候头节点可能会后移!(是一种格式可以说)
707.设计链表
建议: 这是一道考察 链表综合操作的题目,不算容易,可以练一练 使用虚拟头结点
题目链接/文章讲解/视频讲解:代码随想录
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
这道题话,用虚拟指针就是一个非常妙的一个方法了,他可以很好的帮助我们选择n个结点的前一个结点,非常的方便。这道题有一个注意的点就是,进行删除结点或者添加结点的时候,一个要注意删除或添加结点的顺序,可能就是代码顺序的关系,让指针指向空!!!
206.反转链表
建议先看我的视频讲解,视频讲解中对 反转链表需要注意的点讲的很清晰了,看完之后大家的疑惑基本都解决了。
题目链接/文章讲解/视频讲解:代码随想录
这道题用两种解法,一个是双指针的解法,一个是递归的解法。递归的解法就是双指针解法的同理,一一对应的就是,双指针解法的话一个是指向头,一个指向头前面的那个NULL,在进行往后移动的时候,需要一个temp进行临时赋值。在写双指针的时候,注意头是在后面的,在慢慢的往后移的。递归的话,一定要注意,函数中参数的值,不能弄乱