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

链表反转-LeetCode206

**题目:**给你单链表的头结点head,请反转链表,并返回反转后的链表。
示例:
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
在这里插入图片描述
1、建立虚拟头结点辅助反转
分析链表插入元素的时候,会发现如何处理头结点是个比较麻烦的问题,为此可以先建立一个虚拟的结点ans,并且令ans.next=head,这样可以很好的简化我们的操作。如下图所示,如果我们将链表(1->2->3->4>5)进行反转,首先建立虚拟结点ans,并令ans.next=node(1),接下来我们每次从旧的链表拆下来一个结点接到ans后面,然后将其他线调整好就可以了
在这里插入图片描述

// 方法1: 虚拟结点法
public static ListNode reverseList(ListNode head){ListNode ans = new ListNode(-1);ListNode cur = head;while (cur != null) {ListNode next = cur.next;cur.next = ans .next;ans.next = cur;cur = next;return ans.next;
}

2、直接操作链表实现反转
在这里插入图片描述

public ListNode reverseList(ListNode head ){ListNode prev = null;ListNode cur = head;while (cur != null) {ListNode next = cur.next;cur.next = prev;prev = cur;cur = next;}return prev;
} 
http://www.lryc.cn/news/169598.html

相关文章:

  • 北邮22级信通院数电:Verilog-FPGA(3)实验“跑通第一个例程”modelsim仿真及遇到的问题汇总(持续更新中)
  • 4G工业路由器,开启智能工厂,这就是关键所在
  • 计组-机器字长、存储字长、指令字长以及和他们有关的机器位数
  • 解决express服务器接收post请求报错:“req.body==> undefined“
  • 5.zigbee的开发,串口putchar重定向(使用print),单播实验,usb抓包实验
  • 解决AU报“MME无法使用“问题
  • Maven 安装配置
  • vscode 配置网址
  • git 本地工作区和仓库区基本使用
  • 有效的括号(栈的高频面试题)
  • GIS跟踪监管系统电子围栏
  • 蓝桥杯2023年第十四届省赛真题-买瓜--Java题解
  • Chatbot到底提供了哪些便利?来看看“中文版Chatbase”
  • 2023-09-18 LeetCode每日一题(打家劫舍 III)
  • Python一行代码实现文件共享【内网穿透公网访问】
  • uni-app 之 下拉刷新,上拉加载,获取网络列表数据
  • 笔记1.2 计算机网络结构
  • 使用Ansible Template模块进行配置文件管理
  • Secrets of RLHF in Large Language Models Part I: PPO
  • Java手写AVL树应用拓展案例
  • vue3+ts+uniapp小程序封装获取授权hook函数
  • 绘图(一)弹球小游戏
  • uniapp滑动事件
  • 入门人工智能 —— 学习 python 使用 IDE :vscode 完成编程 (2)
  • MyBatis字段名和属性名不一样的解决方案
  • Postman应用——Collection、Folder和Request
  • 驱动开发,stm32mp157a开发板的led灯控制实验
  • 黑客入侵机构,导致2万条信息被卖
  • 循环购:让消费者和商家共赢的新型电商模式
  • 分布式缓冲-Redis