leetcode 206.反转链表

news/2025/2/22 16:54:26

⭐️ 往期相关文章

✨链接:数据结构-手撕单链表+代码详解。


⭐️ 题目描述

在这里插入图片描述

🌟 leetcode链接:反转链表

1️⃣ 代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */

/*
    思路1:把所给链表依次头插
*/
struct ListNode* reverseList(struct ListNode* head){
    // 新的头结点
    struct ListNode* newHead = NULL;

    // 遍历链表
    struct ListNode* cur = head;
    while (cur != NULL) {
        // 记录下一个位置
        struct ListNode* next = cur->next;
        // 头插
        cur->next = newHead;
        newHead = cur;
        //迭代
        cur = next;
    }

    return newHead;
}

2️⃣ 代码:

/*
    思路2:改变链表的指向
*/
struct ListNode* reverseList(struct ListNode* head){
    // 链表为空
    if (head == NULL)
        return NULL;

    struct ListNode* prev = NULL;
    struct ListNode* cur = head;
    // 特殊情况:cur 为 NULL。 error:NULL->next
    struct ListNode* next = cur->next;

    while (cur != NULL) {
        // 改变链表的指向
        cur->next = prev;

        // 迭代
        prev = cur;
        cur = next;
        // 特殊情况:next = NULL 
        if (next != NULL) 
            next = next->next;
    }

    return prev;
}

在这里插入图片描述


http://www.niftyadmin.cn/n/1581377.html

相关文章

[原创] Volumetric 3-Dimensions Display (体三维显示技术)

最近研究了一下三维立体显示技术(属于较为宽泛的光通信技术外延,我个人觉得),发觉这个领域真的非常“迷人”,特写出来与大家一起分享;) 目前的三维立体显示技术共可以分为分光立体眼镜 (Glasses-based Stereoscopic)、自动分光立体…

redis详解(二)数据类型详解

Redis常用数据类型详解 1,Redis最为常用的数据类型主要有以下: StringHashListSetSorted setpub/subTransactions 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的: 首先R…

日出日落!

日出而作,日入而息。生活就是这样,每天我们都在重复先前所做的事,也许你不这么认为,事实却告诉我们,事情不以我们的意志而转移。日入的时候,我们等待天明,黑暗为我们所厌恶。可当太阳升起的时候…

redis详解(三)面试题

1. 使用redis有哪些好处? (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set&…

NBA 篮球术语

投篮方式: dunk 灌篮 bank shot擦板球 double pump拉杆式投篮 fade-away shot后仰式跳投 hook shot钩射投篮 jump shot跳投 layup带球上篮 perimeter shot中距离投篮 set shot立定投篮 three-point shot三分球 统计术语: assist助攻 block …

redis详解(四)高可用分布式集群

一,高可用 高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响。 停止服务的原因可能由于网卡、路由器、机房、CPU负载过高、内存溢出、自然灾害等不可预期的原因导致,在很多时候…

关于VIM - 进行有效编辑的七种习惯 zz

zz from: sorry, 不知道原出处在哪里了,有谁知道请告诉我进行有效编辑的七种习惯 Bram Moolenaar 如果你的很多时间是用来敲纯文本,写程序或HTML,那么有效地使用一个好的编辑器能节省你不少时间。这篇文章里的指导和提示将有助于你更快工作&…

假如你不够快乐

假如你不够快乐 也不要把眉头深锁 人生本来短暂 为什么 还要栽培苦涩 打开尘封的门窗 让阳光雨露洒遍每个角落 走向生命的原野 让风儿熨平前额 博大可以稀释忧愁 深色能够覆盖浅色 转载于:https://blog.51cto.com/starger/17601