Leetcode 876. 链表的中间结点 c

c语言版

struct ListNode* middleNode(struct ListNode* head){
    
    struct ListNode* p = head;
    int len = 0;
    while(p ->next){
        len++;
        p = p->next;
    }
    int mid = (len >> 1) + len % 2;
    
    struct ListNode* p1 = head;
    int len1 = 0;
    while(p1->next){
        if(len1 == mid){
            break;
        }
        p1 = p1->next;
        len1++;
    }
    return p1;
}
发布了40 篇原创文章 · 获赞 12 · 访问量 860

猜你喜欢

转载自blog.csdn.net/qq_29334605/article/details/105274740