zoukankan      html  css  js  c++  java
  • 876. Middle of the Linked List

    Problem:

    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.

    思路

    Solution (C++):

    ListNode* middleNode(ListNode* head) {
        int len = 0;
        ListNode* cur = head;
        while (cur) {
            ++len;
            cur = cur->next;
        }
        int n = len / 2;
        cur = head;
        while (n) {
            cur = cur->next;
            --n;
        }
        return cur;
    }
    

    性能

    Runtime: 0 ms  Memory Usage: 6.4 MB

    思路

    Solution (C++):

    int peakIndexInMountainArray(vector<int>& A) {
        for (int i = 0; i < A.size()-1; ++i) {
            if (A[i] > A[i+1])  return i;
        }
        return -1;
    }
    

    性能

    Runtime: 12 ms  Memory Usage: 7.4 MB

    相关链接如下:

    知乎:littledy

    欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

    作者:littledy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    Openstack CloudKitty 计量计费命令行操作
    $out表单提交转成数组
    AddWhere
    正则
    全选反选
    showErr()
    模拟登陆
    MYSQL添加权限
    三元相位符
    打开ci 调试
  • 原文地址:https://www.cnblogs.com/dysjtu1995/p/12741632.html
Copyright © 2011-2022 走看看