博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【刷算法】翻转单链表的递归和非递归方法
阅读量:6824 次
发布时间:2019-06-26

本文共 648 字,大约阅读时间需要 2 分钟。

题目描述

输入一个链表,反转链表后,输出新链表的表头。

分析

典型的面试题以及大学数据结构课程常见题,没啥好分析的了...

代码实现

递归版

function ListNode(x){    this.val = x;    this.next = null;}function ReverseList(h){    if(h === null || h.next === null)        return h;        var reversedHead = ReverseList(h.next);        h.next.next = h;    h.next = null;        return reversedHead;}

非递归版

function ListNode(x){    this.val = x;    this.next = null;}function ReverseList(h){    if(h === null || h.next === null)        return h;        var pre = null;    var cur = h;    while(cur !== null) {        var next = cur.next;        cur.next = pre;        pre = cur;        cur = next;    }        return pre;}

转载地址:http://chrzl.baihongyu.com/

你可能感兴趣的文章
LevelDB源码之六缓存机制
查看>>
双向链表
查看>>
安装unity3d多个版本共存
查看>>
如何获取模拟器安装的app的位置
查看>>
[LeetCode] Largest Rectangle in Histogram 解题报告
查看>>
apache配置中ProxyPassReverse指令的含义
查看>>
算法整理-二叉树和堆栈
查看>>
如何设计一个“高大上”的 logo
查看>>
clustalo安装
查看>>
[日常] Go语言圣经--示例: 并发的Clock服务习题
查看>>
SCUT个人整理的常见问题
查看>>
二十二、Command 命令模式
查看>>
HDU Just a Hook
查看>>
什么是webpack?
查看>>
20165206学习基础和C语言基础调查
查看>>
httpclient的几种请求URL的方式
查看>>
UIImageView动画 UISlider控制速度
查看>>
JAVA自学笔记08
查看>>
C/C++——strcpy函数的实现
查看>>
KMP算法
查看>>