力扣---LeetCode206. 反转链表(链表经典题)

简介: 第九弹——力扣LeetCode每日一题

前言


“黑暗也别枯萎 我骄傲的向日葵”

本章的内容是力扣每日随机一题的部分方法的解析

提示:以下是本篇文章正文内容,下面案例可供参考

206. 反转链表


链接:

206. 反转链表ink

方法一:改变指针指向


1.1代码:


struct ListNode* reverseList(struct ListNode* head)
{
    if(head==NULL)
        return NULL;
    struct ListNode*n1=NULL;
    struct ListNode*n2=head;
    struct ListNode*n3=n2->next;
    while(n2)
    {
        n2->next=n1;
        n1=n2;
        n2=n3;
        if(n3!=NULL)
            n3=n3->next;
    }
    return n1;
}

1.2流程图


1.3注意:


当n2结束时才完成了链表的反转而非n3如果时n3则4和5就没有进入循环就不会反转

要判断一下n3不等于NULL才能n3=n3->next

方法二:头插


2.1代码:


struct ListNode* reverseList(struct ListNode* head)
{
    struct ListNode*rhead=NULL;
    struct ListNode*cur=head;
    while(cur)
    {
        struct ListNode*next=cur->next;
        cur->next=rhead;
        rhead=cur;
        cur=next;
    }
    return rhead;
}

2.2流程图:


总结


Ending,今天的力扣每日一题内容就到此结束啦,如果后续想了解更多,就请关注我吧。

相关文章
|
1天前
|
索引
每日一题:力扣328. 奇偶链表
每日一题:力扣328. 奇偶链表
11 4
|
2天前
|
存储 算法
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
4 0
|
2天前
|
Java
【LeetCode力扣】面试题 17.14. 最小K个数(top-k问题)
【LeetCode力扣】面试题 17.14. 最小K个数(top-k问题)
7 1
|
2天前
leetcode代码记录(移除链表元素
leetcode代码记录(移除链表元素
8 0
【每日一题】LeetCode——反转链表
【每日一题】LeetCode——反转链表
【每日一题】LeetCode——链表的中间结点
【每日一题】LeetCode——链表的中间结点
|
16天前
|
C++
[leetcode 链表] 反转链表 vs 链表相交
[leetcode 链表] 反转链表 vs 链表相交
|
25天前
【力扣】148. 排序链表
【力扣】148. 排序链表
|
2月前
|
算法
LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)
LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)
|
2月前
|
存储
LeetCode刷题---817. 链表组件(哈希表)
LeetCode刷题---817. 链表组件(哈希表)

热门文章

最新文章