当前位置: 首页 > 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;
}

 

相关文章:

  • 第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架构的蜕变
  • 22国外长联合声明:要求以方立即允许全面恢复对加沙援助
  • 中纪报:强化监督推动过紧日子要求落到实处
  • 新冠阳性率升高,专家:新冠变异株致病力没太多变化
  • 上影节公布今年IMAX片单:暗涌、重生与感官的史诗
  • 专访|金七猫奖得主:以非遗为舟,在现实题材中疗愈与成长
  • 李洋谈美国黑帮电影与黑帮文化