美文网首页
0876-链表的中间结点

0876-链表的中间结点

作者: liyoucheng2014 | 来源:发表于2018-11-28 17:46 被阅读0次

链表的中间结点

方案一


使用快慢指针

借助单链表实现

C-源代码


#include <stdlib.h>

#include "LinkList.h"

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

void test_0876(void)
{
    int arr[5] = { 5, 4, 3, 2, 1 };
    struct ListNode *l1 = createNode(arr, sizeof(arr) / sizeof(arr[0]));
    printNode(l1);
    
//    struct ListNode *ret1 = middleNode(l1);
//    printNode(ret1);
    
    int arr2[6] = { 6, 5, 4, 3, 2, 1 };
    struct ListNode *l2 = createNode(arr2, sizeof(arr2) / sizeof(arr2[0]));
    printNode(l2);
    
    struct ListNode *ret2 = middleNode(l2);
    printNode(ret2);
}

相关文章

  • 0876-链表的中间结点

    链表的中间结点 方案一 使用快慢指针 借助单链表实现 C-源代码

  • 力扣算法 - 链表的中间结点

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

  • LeetCode 876. 链表的中间结点

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

  • LeetCode 链表 > 876. 链表的中间结点

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

  • 876-链表的中间节点

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

  • 链表-双指针妙用

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

  • 234. 回文链表

    一. 题目: 二. 思路: 快慢指针找到中间结点,反转中间结点以后的链表 拿反转之后的链表和前面链表进行比较,如果...

  • 2019-01-12 Day 7

    1.链表的中间结点来源LeetCode给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中...

  • 876. 链表的中间结点

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

  • leetCode (js):876.链表的中间结点

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

网友评论

      本文标题:0876-链表的中间结点

      本文链接:https://www.haomeiwen.com/subject/mmyzqqtx.html