力扣习题+——单链表
作者:mmseoamin日期:2024-04-29

力扣习题+——单链表,第1张

宝子,你不点个赞吗?不评个论吗?不收个藏吗?

最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要。

目录

前言

206. 反转链表

876. 链表的中间结点

链表中倒数第k个结点(牛客)

描述

示例1

总结


前言

不说多了,建立自信,刷题就完事了!


206. 反转链表

https://leetcode.cn/problems/reverse-linked-list/description/力扣习题+——单链表,第2张https://leetcode.cn/problems/reverse-linked-list/description/

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

示例 1:

力扣习题+——单链表,第3张

输入:head = [1,2,3,4,5]

输出:[5,4,3,2,1]

示例 2:

力扣习题+——单链表,第4张

输入:head = [1,2]

输出:[2,1]

示例 3:

输入:head = []

输出:[]

提示:

链表中节点的数目范围是 [0, 5000]

-5000 <= Node.val <= 5000

力扣习题+——单链表,第5张

力扣习题+——单链表,第6张

注意判断是否为空


876. 链表的中间结点

https://leetcode.cn/problems/middle-of-the-linked-list/description/力扣习题+——单链表,第2张https://leetcode.cn/problems/middle-of-the-linked-list/description/

给你单链表的头结点 head ,请你找出并返回链表的中间结点。

如果有两个中间结点,则返回第二个中间结点。

示例 1:

力扣习题+——单链表,第8张

输入:head = [1,2,3,4,5]

输出:[3,4,5]

解释:链表只有一个中间结点,值为 3 。

示例 2:

力扣习题+——单链表,第9张

输入:head = [1,2,3,4,5,6]

输出:[4,5,6]

解释:该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。

 

提示:

链表的结点数范围是 [1, 100]

1 <= Node.val <= 100

力扣习题+——单链表,第10张

 力扣习题+——单链表,第11张

fast走完时,slow恰好走到中间。 


链表中倒数第k个结点(牛客)

https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&&tqId=11167&rp=2&ru=/activity/oj&qru=/ta/coding-interviews/question-ranking力扣习题+——单链表,第2张https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&&tqId=11167&rp=2&ru=/activity/oj&qru=/ta/coding-interviews/question-ranking

描述

输入一个链表,输出该链表中倒数第k个结点。

示例1

输入:

1,{1,2,3,4,5}

返回值:

{5}
if(pListHead==NULL)
        return NULL;
        struct ListNode* slow,* fast;
        slow=fast=pListHead;
        while(k--)
        {
            if(fast==NULL)
            {
                return NULL;
            }
            fast=fast->next;
        }
        while(fast)
        {
            slow=slow->next;
            fast=fast->next;
        }
    return slow;

力扣习题+——单链表,第13张


21. 合并两个有序链表

https://leetcode.cn/problems/merge-two-sorted-lists/description/力扣习题+——单链表,第2张https://leetcode.cn/problems/merge-two-sorted-lists/description/

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

示例 1:

力扣习题+——单链表,第15张

输入:l1 = [1,2,4], l2 = [1,3,4]

输出:[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []

输出:[]

示例 3:

输入:l1 = [], l2 = [0]

输出:[0]

 

提示:

两个链表的节点数目范围是 [0, 50]

-100 <= Node.val <= 100

l1 和 l2 均按 非递减顺序 排列

力扣习题+——单链表,第16张

力扣习题+——单链表,第17张

力扣习题+——单链表,第18张


总结

很久很久以前写的,就冒个泡吧!

宝子,你不点个赞吗?不评个论吗?不收个藏吗?

最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要。

力扣习题+——单链表,第19张