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

leetcode206-Reverse Linked List

题目

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
示例 1:
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]

分析

用一个指针记录当前位置,另外一个指针记录当前位置的前一个位置,以及另外一个指针记录下一个位置,然后遍历的过程中不停的改变当前位置的指针的next值

public class LinkNode {int val;LinkNode next;public LinkNode(int data) {this.val = data;this.next = null;}
}
public class LinkList {LinkNode head;public LinkList() {this.head = null;}public LinkNode getHead() {return this.head;}//添加元素public void addNode(int data) {LinkNode node = new LinkNode(data);if (this.head == null) {this.head = node;} else {LinkNode cur = this.head;while(cur.next != null) {cur = cur.next;}cur.next = node;}}//正序打印public void print(LinkNode node) {while(node != null) {System.out.print(node.val);System.out.print(" ");node = node.next;}System.out.println();}public void reverse() {LinkNode pre = null;LinkNode cur = this.head;while(cur != null) {LinkNode next = cur.next;cur.next = pre;pre = cur;cur = next;}print(pre);}
}
public class reverseLinkedList {public static void main(String[] args) {LinkList list = new LinkList();list.addNode(1);list.addNode(2);list.addNode(3);list.addNode(4);list.addNode(5);list.reverse();}
}
http://www.lryc.cn/news/347686.html

相关文章:

  • 云计算第十二课
  • 【elasticsearch】慢查询替代查询审计的尝试
  • 腐烂的橘子BFS
  • 什么是分库分表
  • pytest并发执行用例方案
  • VO,PO,DTO
  • Java设计模式-工厂
  • 【JavaEE】【1.3 Servlet】1.3.6 监听
  • C#泛型委托
  • 从零开始精通RTSP之多播传输
  • (五)STM32F407 cubemx IIC驱动OLED(2)硬件篇
  • 头歌实践教学平台:CG1-v1.0-点和直线的绘制
  • java基础之面向对象的思想
  • 红黑树的理解和简单实现
  • 发表博客之:gemm/threadblock/threadblock_swizzle.h 文件夹讲解,cutlass深入讲解
  • 【C语言项目】贪吃蛇(下)
  • 【Unity实战|热更】Addressable读取SO文件报错解决
  • Web自动化 - selenium
  • 基于select for update 实现数据库分布式锁
  • Java后端实现对象与文件接收数据(minio测试)
  • 考研踩坑经验分享
  • Android Compose 一:基础控件
  • python3.12.0 在Linux 制作镜像包 部署到docker 全过程
  • STM32理论 —— μCOS-Ⅲ(新)
  • 衢州知识付费系统报价,教师如何做精品课程?怎么创造精品课程?
  • 在Vue中,可以通过使用<slot>元素和name属性来创建具名插槽。这样您就可以为一个组件的不同部分定义不同的内容。 以下是一个简单的示例:
  • C++笔试强训day19
  • MySQL软件安装基于压缩包
  • 04 贝尔曼最优公式
  • 印象笔记使用技巧