博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
876. Middle of the Linked List
阅读量:6402 次
发布时间:2019-06-23

本文共 1909 字,大约阅读时间需要 6 分钟。

Given a non-empty, singly linked list with head node head, return a middle node of linked list.

If there are two middle nodes, return the second middle node.

 

Example 1:

Input: [1,2,3,4,5]Output: Node 3 from this list (Serialization: [3,4,5])The returned node has value 3.  (The judge's serialization of this node is [3,4,5]).Note that we returned a ListNode object ans, such that:ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, and ans.next.next.next = NULL.

Example 2:

Input: [1,2,3,4,5,6]Output: Node 4 from this list (Serialization: [4,5,6])Since the list has two middle nodes with values 3 and 4, we return the second one.

 

Note:

  • The number of nodes in the given list will be between 1 and 100.
 

 
1 /** 2  * Definition for singly-linked list. 3  * struct ListNode { 4  *     int val; 5  *     ListNode *next; 6  *     ListNode(int x) : val(x), next(NULL) {} 7  * }; 8  */ 9 class Solution {10 public:11     ListNode* middleNode(ListNode* head) {12         if(head==NULL||head->next==NULL){13             return head;14         }15         16         ListNode* slow=head;17         ListNode* fast=head;18         while(fast->next&&fast->next->next){19             fast=fast->next->next;20             slow=slow->next;21         }22         23         if(fast->next==NULL){24             return slow;25         }else{26             return slow->next;27         }28     }29 };

方法二:

1 /** 2  * Definition for singly-linked list. 3  * struct ListNode { 4  *     int val; 5  *     ListNode *next; 6  *     ListNode(int x) : val(x), next(NULL) {} 7  * }; 8  */ 9 class Solution {10 public:11     ListNode* middleNode(ListNode* head) {12         ListNode* slow=head;13         ListNode* fast=head;14         while(fast&&fast->next){15             fast=fast->next->next;16             slow=slow->next;17         }18         19         return slow;20     }21 };

 

转载于:https://www.cnblogs.com/ruisha/p/10160568.html

你可能感兴趣的文章
Date类为什么设计为可变的,而不是像String一样?
查看>>
SSM(十三) 将dubbo暴露出HTTP服务
查看>>
有了XMLHttpRequest,前后端们终于过上了幸福的生活
查看>>
数据库路由中间件MyCat - 使用篇(1)
查看>>
胡振波:我的芯片之路
查看>>
Maven第二篇【Idea下使用Maven】
查看>>
【火炉炼AI】机器学习017-使用GridSearch搜索最佳参数组合
查看>>
微信小程序与h5的区别
查看>>
Python学习笔记(7)——循环
查看>>
iOS 自定义卡片式控件:QiCardView
查看>>
Kotlin简单使用手册
查看>>
一个老程序猿的焦虑2
查看>>
属于Nexus的时代已经结束,但属于Pixel的时代才刚刚到来
查看>>
关于RxJava最友好的文章(进阶)
查看>>
看 Laravel 源代码了解 ServiceProvider 的加载
查看>>
JB的ARTS之旅-关于日志的那些事
查看>>
如何利用Spring Cloud构建起自我修复型分布式系统
查看>>
LeetCode之JavaScript解答-118题:帕斯卡三角形
查看>>
Android 自定义 View 之 实现一个多功能的 IndicatorView
查看>>
Android视频开发进阶(part5-安卓的DRM,视频版权保护)
查看>>