LeetCode漫漫学习路
Ambition小啊潇
这个作者很懒,什么都没留下…
展开
-
203.移除链表元素
移除链表元素 一、移除链表元素的基本思想是:遍历整个链表,将与val相等的结点删除即可,要是这样做就得记录每个结点的前驱结点,保证删除的可行性,需要注意的是:当preNode为null时,cur.val就和val相等了,说明是链表中的第一个结点的值就和目标值相等了,因此将头结点向后移动一个结点(因为返回的是头节点) 二、比较容易实现的思想是:遍历链表的同时,创建一个新链表,将与val不...原创 2019-06-09 21:39:36 · 81 阅读 · 0 评论 -
876.链表的中间结点
链表的中间结点 一、求出链表的总长度count,再次遍历链表当index==count/2+1时,将此时的cur赋值给newHead(中间结点),无论链表长度为奇数还是偶数,index都应该等于count/2+1. 二、使用双引用遍历(快慢指针),慢指针每次走一个结点,快指针每次走两个结点,此时,当快指针走到链尾时(快指针==null),慢指针就刚好走在中间结点了。需要注意的是:两个指...原创 2019-06-09 22:15:57 · 124 阅读 · 0 评论 -
206.反转链表
反转链表 反转链表的思路大体上可以分为两种,第一种是比较常规的做法,而第二种相对来讲更加便捷灵活。一、遍历每个结点,依次头插到新链表上,从而实现链表的反转 1、链表的头插相对来说比较简单,只需要21,22行,两行代码,先将遍历取出的结点的next指向新链表的头结点,再将新链表的头结点更新。 2、由于21行,改变了cur.next的值,cur.next指向新链表的头结点了,而非原链表...原创 2019-06-03 22:49:06 · 122 阅读 · 0 评论