Leetcode - Contiguous Array
Leetcode - Maximum Length of Repeated Subarray

Leetcode - Middle of the Linked List

violet posted @ Apr 09, 2020 03:43:46 AM in 算法 with tags Algorithm Golang LinkedList , 313 阅读

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.

 

No big deal.

/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func middleNode(head *ListNode) *ListNode {
    fast := head
    slow := head
    for fast != nil {
        fast = fast.Next
        if fast == nil {
            break
        }
        fast = fast.Next
        slow = slow.Next
    }
    return slow
}

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter