单向链表反转(倒置)问题

单向链表反转(倒置)问题今天遇到单向链表的反转的问题 于是静下心来好好想了一番 解题思路如下图 假设当前创建好的链表如下 首先让头节点与第一个元素节点断开 但是要注意在断开之前需要用 p 指针指向第一个元素节点来保存第一个元素节点的位置 然后再断开 在这里有一个指针 q 指向一个指针域为空的节点 这个节点用来做为链表反转后的最后一个节点 让第二个元素节点的指针从指向第三个元素节点变为指向第一个元素节点 以此类推 直至指针 p 指向

假设当前创建好的链表如下:

这里写图片描述

首先让头节点与第一个元素节点断开,但是要注意在断开之前需要用p指针指向第一个元素节点来保存第一个元素节点的位置,然后再断开。在这里有一个指针q指向一个指针域为空的节点,这个节点用来做为链表反转后的最后一个节点。

这里写图片描述

让第二个元素节点的指针从指向第三个元素节点变为指向第一个元素节点,以此类推,直至指针p指向原链表最后一个元素。

这里写图片描述
这里写图片描述
这里写图片描述




p指针指向NULL时,让原头节点的指针域指向原来最后一个元素节点。此时链表倒置已完成。

这里写图片描述

代码如下:

linkList reverse(linkList head){ linkList p,q,pr; p = head->next; q = NULL; head->next = NULL; while(p){ pr = p->next; p->next = q; q = p; p = pr; } head->next = q; return head; }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202996.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午10:49
下一篇 2026年3月19日 下午10:50


相关推荐

  • PyCharm汉化后无法打开Settings设置「建议收藏」

    PyCharm汉化后无法打开Settings设置「建议收藏」通常为了方便直观的了解软件的用途,我们习惯导入jar包汉化软件,但同时也存在一些隐藏问题,这里的设置选项无法打开就是一个例子点击后无法显示任何内容这里提供两个jar包只需把相应包放到PyCharm安装目录里的lib目录里面即可。同时删掉之前的汉化包1:https://pan.baidu.com/s/16bydeP5gRBCblh0BAoWUzQ提取码:21ro2:https://pan…

    2022年5月25日
    140
  • salesforce的功能_salesforce开发

    salesforce的功能_salesforce开发时刻分享,时刻感恩!124、【CustomURLButtonforCommunity】:CreatingCustomButtonCodeforPartnerCommunities&SalesforceInternal场景:需要在Community中应用URL自定义Button,并且URL不受环境影响-避免HardCode。方案1Sample:{!URL……

    2022年10月20日
    6
  • 马尔可夫——马尔可夫不等式

    马尔可夫——马尔可夫不等式马尔可夫马尔可夫不等式

    2025年7月6日
    4
  • 常用公共数据集[通俗易懂]

    常用公共数据集[通俗易懂]原文链接:http://homepages.inf.ed.ac.uk/rbf/CVonline/Imagedbase.htmCVonline:图像数据库(Google直译的结果,希望对大家有帮助)按主题索引行动数据库属性识别自主驾驶生物/医药相机校准脸和眼/虹膜数据库指纹一般图像一般RGBD和深度数据集一般视频手,掌握,手动和手势数据库图像,视频和形状数据库检索对象数据库人(静),人体姿势人员检测…

    2022年5月18日
    54
  • Java:详解Java中的异常(Error与Exception)[通俗易懂]

    Java:详解Java中的异常(Error与Exception)[通俗易懂]一、异常机制的概述异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。程序错误分为三种:1.编译错误;2.运行时错误;3.逻辑错误。(1)编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置,这个也是大家在刚接触编程语言最常遇到的问题。(2)运行时错误是因为程序在执行时,运行环境发现了不能执行的操作。(3)…

    2022年7月7日
    24
  • deep learning with pytorch中文版_pytorch distributed

    deep learning with pytorch中文版_pytorch distributed憨批的语义分割重制版9——Pytorch搭建自己的DeeplabV3+语义分割平台注意事项学习前言什么是DeeplabV3+模型代码下载DeeplabV3+实现思路一、预测部分1、主干网络介绍2、加强特征提取结构3、利用特征获得预测结果二、训练部分1、训练文件详解2、LOSS解析训练自己的DeeplabV3+模型一、数据集的准备二、数据集的处理三、开始网络训练四、训练结果预测注意事项这是重新构建了的DeeplabV3+语义分割网络,主要是文件框架上的构建,还有代码的实现,和之前的语义分割网络相比,更加

    2022年8月21日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号