leetcode 206.反转链表

这篇具有很好参考价值的文章主要介绍了leetcode 206.反转链表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

⭐️ 往期相关文章

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


⭐️ 题目描述

leetcode 206.反转链表,刷题,leetcode,链表,学习,刷题

🌟 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;
}

leetcode 206.反转链表,刷题,leetcode,链表,学习,刷题文章来源地址https://www.toymoban.com/news/detail-522897.html

到了这里,关于leetcode 206.反转链表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Leetcode-每日一题【206.反转链表】

    给你单链表的头节点  head  ,请你反转链表,并返回反转后的链表。 示例 1: 输入: head = [1,2,3,4,5] 输出: [5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [0, 5000] -5000 = Node.val = 5000   1.我们遍历链表,首先设置

    2024年02月12日
    浏览(26)
  • 【代码随想录刷题记录】 203.移除链表元素 、 707.设计链表 、206.反转链表

    题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 题目链接:https://leetcode.cn/problems/remove-linked-list-elements/ 代码 小结 该题主要注意链表删除的操作以及在特殊情况下如何进行操作。特殊情况包括头结点为目标

    2024年02月08日
    浏览(33)
  • 206. 反转链表、Leetcode的Python实现

    博客主页:🏆 看看是李XX还是李歘歘  🏆 🌺每天分享一些包括但不限于计算机基础、算法等相关的知识点🌺 💗 点关注不迷路,总有一些📖知识点📖是你想要的 💗 ⛽️今天的内容是      Leetcode    206. 反转链表     ⛽️💻💻💻 206. 反转链表 给你单链表的头节点 

    2024年02月06日
    浏览(26)
  • 力扣每日一道系列 --- LeetCode 206. 反转链表

    📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构探索 ✅LeetCode每日一道 🌅 有航道的人,再渺小也不会迷途。 LeetCode 206. 反转链表 初始化两个指针, cur 和 newhead 。 cur 指向给定的链表头节点, newhead 初始为 NULL 。 在 cur 不为空的情况下,执行循环。 首先,记录下 cur 的下

    2024年02月04日
    浏览(31)
  • 【Leetcode60天带刷】day03链表——203. 移除链表元素,707.设计链表,206. 反转链表

    链表就像一串小火车,有一节一节的车厢,每个车厢都叫做一个节点。  单链表:每个链表车厢里有两个内容,一个放的是真正的数据,另一个放的是下一节车厢的编号。 双链表:每个链表车厢里有三个内容,一个真正数据,一个下一个车厢的编号,还有一个上一节车厢的编

    2024年02月06日
    浏览(35)
  • 代码随想录第三天|链表理论基础,LeetCode203.移除链表元素, LeetCode707.设计链表,LeetCode 206.反转链表

    链表: 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。 链表的入口节点称为链表的头结点也就是head。 链表类型: 1.单链表 单链表中的指

    2024年02月11日
    浏览(37)
  • 【LeetCode题目详解】 203. 移除链表元素707. 设计链表206. 反转链表 day3(补)

    题意:删除链表中等于给定值 val 的所有节点。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:head = [], val = 1 输出:[] 示例 3: 输入:head = [7,7,7,7], val = 7 输出:[] 看到这道题就想到了链表 这道题有两种写法,涉及如下链表操作的两种方式: 直接使用

    2024年02月16日
    浏览(31)
  • Leetcode刷题之反转链表Ⅱ

    业精于勤而荒于嬉,行成于思而毁于随。                      ——韩愈 目录 前言: 🍁一.反转链表Ⅱ 🍒1.left和right中间链表反转,再把反转链表和剩下的链接起来 🗼2.left和right中间链表头插  题目描述: 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left =

    2024年02月04日
    浏览(30)
  • 反转链表、链表的中间结点、合并两个有序链表【LeetCode刷题日志】

    给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 这里解释一下三个指针的作用: n1:记录上一个节点,如果是第一个就指向空 n2:记录此节点的位置 n3:记录下一个节点的位置,让翻转后能找到下一个节点

    2024年02月03日
    浏览(38)
  • 【刷题笔记8.15】【链表相关】LeetCode:合并两个有序链表、反转链表

    将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3: 输入:l1 = [], l2 = [0] 输出:[0] 此题没啥好说的,直接上代码,自己好好分析

    2024年02月12日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包