LeetCode | 876. 链表的中间结点

LeetCode | 876. 链表的中间结点

OJ链接
LeetCode | 876. 链表的中间结点_第1张图片

  • 我们这里有一个很好的思路,我们定义两个变量,第一个变量走两步,第二个变量走一步,一直循环,当第一个变量走到最后的时候停下来,这个时候第二个变量就是中间的那个值~~

如图:

LeetCode | 876. 链表的中间结点_第2张图片

代码如下:

struct ListNode* middleNode(struct ListNode* head){
    struct ListNode* slow = head,*fast = head;
    while(fast && fast->next)
    {
        slow = slow->next;
        fast = fast->next->next;
    }
    return slow;
}

你可能感兴趣的:(LeetCode,leetcode,链表,算法)