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

LeetCode:206. 反转链表

力扣链接

算法思想:由于单链表是单向的,想要对当前元素进行操作,需找到前一个元素。本题利用双指针,初始pre指针指向NULL,cur指针指向head.再对局部翻转之前,先把下一个结点存到temp指针中。当进行完如下代码逻辑后,此时cur指针指向NULL,pre指针指向头结点

代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {ListNode pre = null, cur = head;while (cur != null) {ListNode temp = cur.next;cur.next = pre;pre = cur;cur = temp;}return pre;  }
}

在这里插入图片描述

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {if (head == null) return null;ListNode a = head; //a指向第一个结点ListNode b = head.next; //b指向第二个节点while (b != null) {ListNode c = b.next;  //保存第三个节点b.next = a; //翻转 b->aa = b; //后移一位 b = c; //后移一位}//最终a指向最后一个节点,变成第一个结点,b指向空,循环结束head.next =null;  //第一个结点变成最后一个节点,next指向nullreturn a;
}
}
http://www.lryc.cn/news/284488.html

相关文章:

  • linux 安装nginx
  • 1.C语言——基础知识
  • Redis 存在线程安全问题吗?为什么?
  • 无人机测绘助力实现高效、安全的城市规划
  • 实验七 RMAN恢复管理器
  • 未来 AI 可能给哪些产业带来哪些进步与帮助?
  • Java医院信息管理系统
  • QT+OSG/osgEarth编译之八十:ive+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_ive)
  • Webpack5入门到原理3:基本配置
  • 全开源多城市同城信息小程序源码(Laravel 框架),同城分类信息发布便民小程序系统【非DZ】
  • PHP学习笔记1
  • C语言从入门到实战——文件操作
  • 数据结构中的一棵树
  • C++中的static(静态)
  • 常见框架漏洞
  • Python文件自动化处理
  • js变量提升
  • C++ 设计模式之策略模式
  • (202401)深度强化学习基础2:策略梯度
  • bgp大AS小AS选路-联邦ebgp选路
  • beego API 自动化文档
  • 百度搜索Push个性化:新的突破
  • 【Oracle】ORA-32017和ORA-00384错误处理
  • MySQL三大日志
  • 力扣每日一练(24-1-20)
  • Pytest系列(2) - assert断言详细使用
  • CodeWave智能开发平台--03--目标:应用创建--10初级采购管理系统总结
  • 外包干了4个月,技术退步明显.......
  • 图片批量建码怎么用?每张图片快速生成二维码
  • 时间复杂度的排序