203.移除链表元素
今日学习的文章链接:https://programmercarl.com/0203.%E7%A7%BB%E9%99%A4%E9%93%BE%E8%A1%A8%E5%85%83%E7%B4%A0.html
自己看到题目的第一想法: 虚拟头结点,两个指针来删除链表元素
看完代码随想录之后的想法:链表节点的定义要记得
遇到的困难:链表节点的定义,是node!=null不是node.next!=null
707.设计链表
今日学习的文章链接:https://programmercarl.com/0707.%E8%AE%BE%E8%AE%A1%E9%93%BE%E8%A1%A8.html
自己看到题目的第一想法:是一道很麻烦的题但是仔细写起来不难
看完代码随想录之后的想法:
遇到的困难:遇到的第一个问题是在构造函数里我加了一个构造一个node,但由于我没有使用size所以这个结点在后面addAtTail那里出现了错误,后续删除构造函数里的代码即可。
第二个问题是发现deleteAtIndex这个函数写起来有很多易错点,我一开始不想设置preNode所以选择了index降为1时node.next = node.next.next,但是这样要考虑index=1,0的情况和溢出的情况。后面我加了preNode结点但是发现index=0的情况还是要单独考虑。
206.反转链表
今日学习的文章链接:https://programmercarl.com/0206.%E7%BF%BB%E8%BD%AC%E9%93%BE%E8%A1%A8.html
自己看到题目的第一想法:设定两个指针?
看完代码随想录之后的想法:学习了递归法
遇到的困难:三个指针搞清楚如何更新后就不难,但是要注意边缘条件
今日学习时长三小时多,第二题占用时间近两小时。