当前位置: 首页 > news >正文

【leetcode】力扣热门之反转链表【简单难度】

题目描述

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

用例

输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
在这里插入图片描述

输入:head = [1,2]
输出:[2,1]
在这里插入图片描述

输入:head = []
输出:[]

提示

  • 链表中节点的数目范围是 [0, 5000]
  • -5000 <= Node.val <= 5000

示例代码

解法1:直接反转法

var reverseList = function(head) {let prev=null;let curr=head;while(curr){const next=curr.next;curr.next=prev;prev=curr;curr=next;}return prev;
};

解法2:定义反转

/*** 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) {let ans=null;for(let x=head;x!=null;x=x.next){ans=new ListNode(x.val,ans);}return ans;
};

解法3: 栈实现:

/*** @param {ListNode} head* @return {ListNode}*/
var reverseList = function(head) {let stack=[]while(head){stack.push(head);head=head.next;}let rootNode=new ListNode()let temp=rootNode;while(stack.length>0){temp.next=stack.pop();temp=temp.next;}temp.next=null;return rootNode.next;
};

执行情况:
在这里插入图片描述

Tip

简单题适合用来打基础,掌握基础数据结构的使用可以为复杂题目求解提供方便。

http://www.lryc.cn/news/276777.html

相关文章:

  • 【sgPasswordInput】自定义组件:带前端校验密码强度的密码输入框,能够提供密码强度颜色提示和文字提示
  • 1599 - Ideal Path (UVA)
  • 计算机网络(超级详细笔记)
  • 老杨说运维 | 年末大讲回顾:运维的尽头也是大模型吗?
  • Unity 利用UGUI之Scrollbar制作进度条
  • MySQL之导入、导出
  • 【unity小技巧】FPS游戏实现相机的偏移震动、武器射击后退和后坐力效果
  • MINCO+汽车
  • 大模型机器人发展史:从VoxPoser、RT2到斯坦福Mobile ALOHA、Google机器人
  • Ubunutu18.04 ROS melodic 无人机 XTDrone PX4 Vins-Fuison 运行配置
  • Linux 常见服务配置
  • Flutter基础
  • MySQL-数据库概述
  • HTML---JQurey的基本使用
  • 搜索docker镜像
  • 旋变检测AD2s1205手册学习笔记
  • 【温故而知新】JavaScript的防抖与节流
  • C++模板——(3)类模板
  • 深度学习中Epoch和Batch Size的关系
  • Python采集微博评论做词云图
  • 一文详解VScode 的远程开发
  • 捕捉“五彩斑斓的黑”:锗基短波红外相机的多种成像应用
  • 解读 Sobit v2:铭文资产跨链更注重安全、易用性
  • [开源]万界星空开源MES系统,支持低代码大屏设计
  • 开源软件运维安全防护的六个手段
  • 开启Android学习之旅-5-Activity全屏
  • 运行时类型信息 typeid、type_info...(C++)
  • 2023-12-02 青少年软件编程(C语言)等级考试试卷(七级)解析
  • 计算机网络-以太网交换基础
  • C++系列十六:枚举