203.移除链表元素
题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
这道题很基础,建立虚拟头节点然后对链表遍历即可。
注意虚拟头节点在链表中是很常用的操作,在这里用ListNode dummyhead = new ListNode()来创建。
707.设计链表
题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
这道题主要考查的是基本操作,我感觉我对Java中类的理解仍然不是很好。我看了题解,发现可以另列一个ListNode类来作为单独的单向链表,而不是直接在MyLinkedList类里面构造,这样会比较清晰。同时针对题目要求,我在类里添加了size来存储链表大小,这也是比较好的灵活构造的例子。
其实对于几个构造函数,整体来讲做着都比较顺手,主要就是这个初始类的构造。
206.反转链表
题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
对于反转链表,我比较熟悉的方法是头插法,在这里记录一下双指针法,就是用next和pre指针来改变指向的方向,这样也可以实现链表反转。
心得:
我感觉我对链表的基本操作的整体掌握还是比较好的,需要注意的就是最原始的定义这种可能薄弱一些(因为在做题中很少练习倒),别的倒是还好。