
LeeCode
Cke78913
这个作者很懒,什么都没留下…
展开
-
力扣.链表.21.合并两个有序链表
思路:创建一个新链表,各自从头开始遍历两个旧链表,将较小的一个插入到新链表中。原创 2024-04-19 18:29:51 · 184 阅读 · 1 评论 -
力扣.链表.206.反转链表(配图解释)
2.创建3个节点(n1前驱节点,n2当前节点,n2后继节点),分别指向NULL,1,2,让指向1的指针n2“翻转”,使它指向n1的NULL,然后n1指向原来n2所指的1,n2指向原来n3所指的2,n3指向下一个节点。然后n1指向原来n2所指的1,n2指向原来n3所指的2,n3指向下一个节点(这样的两步就算是一个循环,如此成功的反转了旧链表的第一个节点)这时候反转已经完成了,结束的条件就是n2不能为空,且新链表的头结点是n1.1.创建一个新链表,遍历旧链表的所有节点将其头插到新链表上。原创 2024-04-18 01:30:29 · 360 阅读 · 4 评论 -
力扣.链表.876.链表的中间节点
定义两个指针,一个fast,一个slow,让fast一次走两个节点,slow一次走一个节点,当fast走到头的时候slow的位置就是中间节点,这样只用了一个循环,妙啊!看到题目,会想到之前xieC语言的时候类似的题目,思路清晰而明了:用计数器(count++)遍历链表,然后除2得到中间位置,然后使用for循环得到中间节点。但错误答案先执行Fast->next,这个时候如果Fast已经空了,就不存在Fast->next了,当然会报错。这里将会介绍到一种新的算法思想,这里先酝酿一波。原创 2024-04-16 01:17:30 · 250 阅读 · 1 评论