码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode daily 20/03/23 链表的中间结点

时间:2020-03-23 12:35:40      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:单链表   输出   节点   https   ddl   mat   ext   -o   head   

链表的中间结点

-题目-

给定一个带有头结点 head 的非空单链表,返回链表的中间结点。
如果有两个中间结点,则返回第二个中间结点。

-示例1-

输入:[1,2,3,4,5]
输出:此列表中的结点 3 (序列化形式:[3,4,5])
返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。
注意,我们返回了一个 ListNode 类型的对象 ans,这样:
ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next = NULL.

-示例2-

输入:[1,2,3,4,5,6]
输出:此列表中的结点 4 (序列化形式:[4,5,6])
由于该列表有两个中间结点,值分别为 3 和 4,我们返回第二个结点。

-提示-

给定链表的结点数介于 1 和 100 之间。


-方法1-

  • 遍历节点,把节点放到一个列表里。取中间结点即可。

-ac代码-

class Solution:
    def __init__(self):
        self.node_list = []

    def middleNode(self, head: ListNode) -> ListNode:
        while True:
            self.node_list.append(head)

            if head.next:
                head = head.next
            else:
                break
        
        return self.node_list[int(len(self.node_list) / 2)]

-复杂度-

  • \(T(n) = O(n)\)
  • \(S(n) = O(n)\)

Leetcode daily 20/03/23 链表的中间结点

标签:单链表   输出   节点   https   ddl   mat   ext   -o   head   

原文地址:https://www.cnblogs.com/Chunngai/p/12551428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!