203.移除链表元素
题目链接:https://leetcode.cn/problems/remove-linked-list-elements
0x1 看到题目的第一想法
- 链表的基础操作
- 删
0x2 自己实现过程中遇到哪些困难
- 不会用python创建链表,怎么声明一个变量是链表
0x3 今日学习的文章链接,或者视频链接
0x4 看完代码随想录之后的想法
- 设置一个虚拟节点dummy,来进行统一操作,不用单独考虑表头节点
0x5 今日收获,记录一下自己的学习时长
- 链表基础
- 删
- 15min
707. 设计链表
题目链接:https://leetcode.cn/problems/design-linked-list/
0x1 看到题目的第一想法
- 都是基础操作,一动手写就不太行了,这也不行那也不行
0x2 自己实现过程中遇到哪些困难
- 不了解python的ini,要填什么,class和def是什么关系
1
2
3
4
5
6class Node():
def __init__(self, x = 0):
self.val = x
self.next = None
node = Node()
0x3 今日学习的文章链接,或者视频链接
0x4 看完代码随想录之后的想法
- 写代码的时候可以把函数具体要实现的功能写在函数名上面,可以理清思路
0x5 今日收获,记录一下自己的学习时长
- 设置虚拟头节点会方便许多
- 想清楚什么时候时候存前一个节点,什么时候是要存当前节点
- 找到链表最后一个节点: 存前一个节点pre,while里判断pre.next,最后pre跳出循环是表尾
- 2h
206. 反转链表
题目链接:https://leetcode.cn/problems/reverse-linked-list/
单链表的头节点 head ,请你反转链表,并返回反转后的链表
0x1 看到题目的第一想法
- 头插法
0x2 自己实现过程中遇到哪些困难
- 到底是一开始存dummy,还是dummy.next,糊涂里,里面的断开再连也糊涂
0x3 今日学习的文章链接,或者视频链接
0x4 看完代码随想录之后的想法
- 使用双指针进行链表翻转
0x5 今日收获,记录一下自己的学习时长
使用双指针进行链表翻转
- 定义一个pre,初始化为null,再定义一个cur
- 当cur为None结束循环,每次循环中时,首先保存cur.next指针为tmp,以免cur断了;然后讲cur.next赋成pre,然后pre变为cur,cur变为tmp,接上去继续循环。
30min
待重点复习
707, 206
总结
- 链表基本操作
- 增删查改
- 原地翻转
- 双指针