文档章节

输入一个链表,反转链表后,输出链表的所有元素。

4112821992
 4112821992
发布于 2017/05/03 23:06
字数 416
阅读 3
收藏 0
function ReverseList(pHead)
{
    // write code here
    if(pHead==null)
        return null;
    //head为当前节点,如果当前节点为空的话,那就什么也不做,直接返回null;
    var pre = null;
    var next = null;
    //当前节点是head,pre为当前节点的前一节点,next为当前节点的下一节点
    //需要pre和next的目的是让当前节点从pre->head->next1->next2变成pre<-head next1->next2
    //即pre让节点可以反转所指方向,但反转之后如果不用next节点保存next1节点的话,此单链表就此断开了
    //所以需要用到pre和next两个节点
    //1->2->3->4->5
    //1<-2<-3 4->5
    while(pHead!=null){
        //做循环,如果当前节点不为空的话,始终执行此循环,此循环的目的就是让当前节点从指向next到指向pre
        //如此就可以做到反转链表的效果
        //先用next保存head的下一个节点的信息,保证单链表不会因为失去head节点的原next节点而就此断裂
        next = pHead.next;
        //保存完next,就可以让head从指向next变成指向pre了,代码如下
        pHead.next = pre;
        //head指向pre后,就继续依次反转下一个节点
        //让pre,head,next依次向后移动一个节点,继续下一次的指针反转
        pre = pHead;
        pHead = next;
    }
    //如果head为null的时候,pre就为最后一个节点了,但是链表已经反转完毕,pre就是反转后链表的第一个节点
    //直接输出pre就是我们想要得到的反转后的链表
    return pre;
}

© 著作权归作者所有

共有 人打赏支持
上一篇: 高阶函数
4112821992
粉丝 2
博文 41
码字总数 28256
作品 0
私信 提问
数据结构之链表与数组(3):单向链表上的简单操作

原文出处:写代码的李纳 4 反转单向链表(非递归实现) 思路: 图1 非递归反转链表 如图1所示,假设已经反转了前面的若干节点,且前一段链表的头节点指针为pre,则现在要做的事情是首先保存当...

写代码的李纳
2015/11/11
0
0
数据结构基础(9) --单链表的设计与实现(2)之高级操作

链表的链接: 将第二条链表的所有内容链接到第一条链表之后, 其完整实现代码与解析如下: //链表的链接template void MyList::concatenate(const MyList &list){ } 链表的反转: 基本思想: 遍历...

翡青
2015/01/05
0
0
编程题——11~20

十一、数值的整数次方 实现函数double Power( double base, int exponent ),求base的exponent。不使用哭函数,同时 不需要考虑大数问题。 十二、打印1到最大的n位数 输入数字n,按顺序打印出...

thanatos_y
2016/07/21
0
0
算法知识梳理(9) - 链表算法第一部分

面试算法代码知识梳理系列 算法知识梳理(1) - 排序算法 算法知识梳理(2) - 字符串算法第一部分 算法知识梳理(3) - 字符串算法第二部分 算法知识梳理(4) - 数组第一部分 算法知识梳理(5) - 数...

泽毛
2017/12/17
0
0
面试 8:快慢指针法玩转链表算法面试(二)

昨天在最后给大家留了拓展题,不知道大家有没有思考完成,其实南尘说有巨坑是吓大家的啦,实际上也没什么。我们来继续看看昨天这个拓展题。 面试题:给定单链表的头结点,删除单链表的倒数第...

nanchen2251
07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Centos 7 JDK、Tomcat9 安装并配置

Centos 7 JDK、Tomcat9 安装并配置 2017年04月17日 22:44:36 我是一座离岛 阅读数:5707更多 个人分类: webCentOS 版权声明:博主原创文章,转载请注明出处。 https://blog.csdn.net/ngl272...

linjin200
16分钟前
1
0
Spring boot遇到的问题

2018年12月11日 Ver:2.0.2升级到2.1.1文件上传遇到问题 The method setMaxFileSize(String) from the type MultipartConfigFactory is deprecated 是不是就不用设置了?...

夏碌冬藏
16分钟前
1
0
Spark sql操作Hive

这里说的是最简便的方法,通过Spark sql直接操作hive。前提是hive-site.xml等配置文件已经在Spark集群配置好。 val logger = LoggerFactory.getLogger(SevsSpark4.getClass) def main(args:...

守望者之父
17分钟前
1
0
炫酷粒子表白 | 听说女神都想谈恋爱了!

最近听女神说想谈恋爱了,✧(≖ ◡ ≖) 嘿嘿,一定不能放过这个机会,给她来个不一样的表白。 那么咱们就一起来把这个粒子系统玩出花来吧 演示地址: https://es2049.studio/work-show/text...

我的卡
18分钟前
2
0
Spark Streaming管理Kafka偏移量

前言 为了让Spark Streaming消费kafka的数据不丢数据,可以创建Kafka Direct DStream,由Spark Streaming自己管理offset,并不是存到zookeeper。启用Spark Streaming的 checkpoints是存储偏移...

架构师springboot
21分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部