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

力扣刷题 -- 206.反转链表

题目:

方法一:创建新链表,遍历旧链表,进行头插

代码实现: 

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef struct ListNode ListNode;
struct ListNode* reverseList(struct ListNode* head) {if(head==NULL){return head;}ListNode* newHead,*newTail;newHead=NULL;newTail=NULL;ListNode* pcur=head;ListNode* next=pcur->next;//注意这里要特殊讨论空链表while(pcur){if(newHead==NULL){//链表为空时newHead=newTail=pcur;}else{//链表非空时next=pcur->next;//保存下一个节点pcur->next=newHead;newHead=pcur;}if(pcur!=NULL)pcur=next;}newTail->next=NULL;return newHead;
}

方法二:三指针法

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef struct ListNode ListNode;
struct ListNode* reverseList(struct ListNode* head) {//方法二:三指针if(head==NULL){return  head;}ListNode* n1=NULL;ListNode* n2=head;ListNode* n3=n2->next;while(n2){n2->next=n1;n1=n2;n2=n3;if(n2!=NULL)n3=n2->next;}return n1;
}

 

http://www.dtcms.com/a/169102.html

相关文章:

  • 第Y3周:yolov5s.yaml文件解读
  • TCP三次握手和四次挥手(简要版)
  • 多模态大模型轻量化探索-视觉大模型SAM(Segment Anything Model)
  • Linux 下使用tcpdump进行网络分析原
  • SpringTask
  • 自动化测试项目2 --- 比特纵横 [软件测试实战 Java 篇]
  • Baklib知识中台驱动企业服务智能升级
  • 深入理解C++构造函数:从入门到实践
  • win10系统安卓开发环境搭建
  • Spring 分批处理 + 冷热数据分离:历史订单高效迁移与数据清理实战
  • 数字智慧方案6206丨智慧园区大数据整体解决方案(45页PPT)(文末有下载方式)
  • 数字智慧方案5846丨智慧广场整体解决方案(91页PPT)(文末有下载方式)
  • JavaScript基础-逻辑运算符
  • 【网络层】之IP协议
  • 源码安装SRS4
  • UE运行游戏时自动播放关卡序列
  • 纯前端专业PDF在线浏览器查看器工具
  • 【Shell编程】条件表达式中[]和[[]]的区别
  • 计算方法实验三 解线性方程组的直接方法
  • 【C到Java的深度跃迁:从指针到对象,从过程到生态】第五模块·生态征服篇 —— 第二十章 项目实战:从C系统到Java架构的蜕变
  • 位运算符详解:从入门到精通
  • 使用python爬取百度搜索中关于python相关的数据信息
  • WebRtc10: 端对端1v1传输基本流程
  • 第三章 权限维持-linux权限维持-隐藏
  • 八闽十三张模块部署测试记录:源码结构拆解与本地运行验证(含常见问题与修复指南)
  • PointPillars(一),跑通OpenPCDet中的demo
  • C语言 之 【栈的简介、栈的实现(初始化、销毁、入栈、出栈、判空、栈的大小、访问栈顶元素、打印)】
  • 【多线程】六、基于阻塞队列的生产者消费者模型
  • AI赋能新媒体运营:效率提升与能力突破实战指南
  • 【云盘】使用阿里云盘托管项目大文件