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

OJ题-反转链表

给你一个单链表的头节点,请反转链表,并返回新的链表

eg:

1,2,3,4,5--->5,4,3,2,1

//反转链表
struct ListNode* reverseList(struct ListNode* head)
{//定义三个变量struct ListNode* n1, * n2, * n3;n1 = NULL;n2 = head;n3 = head->next;//当n2不为空时,循环继续while (n2){//反转n2->next = n1;n1 = n2;n2 = n3;//要考虑最后n3为空指针,越界的问题if (n3){n3 = n3->next;}}//返回新的链表return n1;
}

struct ListNode* reverseList(struct ListNode* head)
{struct ListNode* newnode = NULL;//创建一个新的链表struct ListNode* cur = head;//便于迭代操作while (cur){//要先用next保存cur的下一个节点,否则将cur取下来头插后会被置成随机值,导致找不到cur的下一个节点struct ListNode* next = cur->next;//进行头插入cur->next = newnode;newnode = cur;//迭代往后走cur = next;}//返回新的链表return newnode;
}


http://www.mrgr.cn/news/28286.html

相关文章:

  • Java基础——多线程
  • org.springframework.context.support.ApplicationListenerDetector 详细介绍
  • Nuxt.js 应用中的 schema:written 事件钩子详解
  • mysql 示例验证demo
  • qt中ctrl+鼠标左键无法进入
  • SpringBoot单体服务无感更新启动,动态检测端口号并动态更新
  • 利士策分享,家和万事兴:幸福生活的基石
  • Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解
  • JVM HotSpot 虚拟机: 对象的创建, 内存布局和访问定位
  • [Golang] Sync
  • 【多线程】深入剖析线程池的应用
  • docker发布redis容器
  • 【 html+css 绚丽Loading 】000050 乾坤合璧轮
  • TryHackMe 第1天 | Introduction to Cyber Security
  • 书生大模型实战营学习[2]Python task
  • 宿舍管理系统的设计与实现 (含源码+sql+视频导入教程)
  • 【FreeRTOS】任务
  • 16、Python如何使用临时文件和目录
  • YOLOv9改进系列,YOLOv9损失函数更换为Powerful-IoU(2024年最新IOU),助力高效涨点
  • C语言 ——— 写一个宏,将一个整数的二进制位的奇数位和偶数位交换
  • transformer模型进行英译汉,汉译英
  • Qt ORM模块使用说明
  • 95-java synchronized和reentrantlock区别
  • 深入理解指针(三)
  • FLORR.IO 绿~粉(我是专业的!)
  • java项目常用的工具类