首页 > 其他分享 >leetcode 206. 反转链表 js实现

leetcode 206. 反转链表 js实现

时间:2022-10-27 12:56:04浏览次数:70  
标签:head cur val 206 js 链表 next 节点

给你单链表的头节点 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

链接:https://leetcode.cn/problems/reverse-linked-list

迭代法:

复杂度分析

  • 时间复杂度:O(n),其中 n 是链表的长度。需要遍历链表一次。

  • 空间复杂度:O(1)。

/**
 * Definition for singly-linked list.
 * function ListNode(val, next) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.next = (next===undefined ? null : next)
 * }
 */
/**
 * @param {ListNode} head
 * @return {ListNode}
 */
var reverseList = function(head) {
    if(!head){
        return head
    }
    // 定义当前节点 等于 head
    let cur = head;
    // 定义上一个节点 等于 null
    let prev = null;
    // 如果当前节点存在,在进行链表遍历
    while(cur){
        // 存储当前节点的下一个,因为一会要存为上一个
        let temp = cur.next;
        // 改变当前节点的下一个节点的指向为上一个
        cur.next = prev;
        // 向前推进一步,上一个节点变为当前节点
        prev = cur;
        // 当前节点变为原来当前节点的下一个节点
        cur = temp;
    }
    // 返回反转后的头节点
    return prev;
};

 

标签:head,cur,val,206,js,链表,next,节点
From: https://www.cnblogs.com/beileixinqing/p/16831836.html

相关文章

  • js async await
    async函数一定会返回一个promise对象。如果一个async函数的返回值看起来不是promise,那么它将会被隐式地包装在一个promise中。如asyncfunctionfoo(){retur......
  • Node.JS 安装(Windows 和 Linux )
    1、Linux版采用YUM方式安装。1.1、卸载旧版本查看旧版本:rpm-qa|grepnodejs卸载:卸载过程中输入y确认yumremovenodejs1.2、安装1.2.1、Hint官......
  • 力扣-92-反转链表Ⅱ
    其实对链表的考察就是考察指针,不喜欢Java写算法题的一大原因就是Java没有指针区间反转链表,相对于整体反转链表而言回忆一下链表的整体反转,大概是两种做法递归,从后往前......
  • 打印的js
    //打印类属性、方法定义/*eslint-disable*/constPrint=function(dom,options){if(!(thisinstanceofPrint))returnnewPrint(dom,options);this.op......
  • 项目实战:在线报价采购系统(React +SpreadJS+Echarts)
    小伙伴们对采购系统肯定不陌生,小到出差路费、部门物资采购;大到生产计划、原料成本预估都会涉及到该系统。管理人员可以通过采购系统减少管理成本,说是管理利器毫不过分,对于......
  • PHP json_decode如何输出数组(php json_decode how to output array)
    Hereismyphpcodewithjsonformattedstring:$string=';?>Iwanttolearnhowtoparse/outputjsonstringintosomethingIcanshowinhtmlorput......
  • openlayers 添加行政区域 geojson
    先地图初始化然后再添加图层 import{VectorasVectorLayer}from'ol/layer';import{VectorasVectorSource}from'ol/source';import{GeoJSON}from'ol......
  • 配置 tsconfig.json
    tsconfig.json所包含的属性并不多,只有7个,ms官方也给出了它的定义文件。但看起来并不怎么舒服,这里就翻译整理一下。(若有误,还请指出)files:数组类型,用于表示由ts管理......
  • 链表——环形链表
    classSolution{public:ListNode*detectCycle(ListNode*head){ListNode*fast=head;ListNode*slow=head;while(fast!=NULL&......
  • 【数据结构-链表】链表的基本操作
    目录1单向链表1.1有头结点的单向链表1.1.1数据结构定义1.1.2初始化建立链表1.1.3按序号查找结点1.1.4按值查找结点1.1.5插入操作1.1.6删除操作1.2无头结点的单向......