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

反转链表链表数据结构oj题(206)

目录

题目描述:

题目分析:

代码解决:


题目描述:

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

题目分析:

对于反转这道题,我们学习了单链表的增删改查后,立马就能想到第一个思路就是,遍历单链表,再进行头插,遍历中嵌套头插函数,时间复杂度不会很大,也就是O(n)。为了方便代码的书写,我们第二个思路就是直接反转,顾名思义就是改变指针指向的地址。可以方便我们写代码,重点讲解一下第二个思路,先上图,再讲解将抽象具体化

设置3个指针,一个n1用来指向到对应节点中,n2用来表示需要改变指向节点反向的节点,n3用来表示衔接n2,使得n2往后走,进而继续改变指向。思路简单,但是也很抽象,代码的简单的代价就是抽象。

代码解决:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef struct ListNode ListNode;
ListNode* reverseList(ListNode* head) {//考虑为空,防止空指针的解引用if (head == NULL){return NULL;}ListNode* n1, * n2, * n3;n1 = NULL; n2 = head; n3 = n2->next;//切换指向while (n2->next != NULL){n2->next = n1;n1 = n2;n2 = n3;n3 = n3->next;}//包括最后一项与链接n2->next = n1;n1 = n2;return n2;}

相关文章:

  • 【未完】【GNN笔记】EvolveGCN:Evolving Graph Convolutional Networks for Dynamics Graphs
  • 测试:TestCafe - 判断按钮是否活性化
  • 【Elasticsearch】flattened`类型在查询嵌套数组时可能返回不准确结果的情况
  • 电子电路仿真实验教学平台重磅上线!——深圳航天科技创新研究院倾力打造,助力高校教学数字化转型
  • 产品经理如何做好需求管理
  • 国产三维CAD皇冠CAD(CrownCAD)建模教程:插接箱
  • 安科瑞AcrelEMS3.0企业微电网智慧能源平台-安科瑞 蒋静
  • ZYNQ Overlay硬件库使用指南:用Python玩转FPGA加速
  • OpenCV 级联分类器目标检测
  • 第五部分:第五节 - Express 路由与中间件进阶:厨房的分工与异常处理
  • Linux 系统切换国内镜像源教程
  • 2025年上软考 考试时间+准考证打印全攻略
  • Redis(三) - 使用Java操作Redis详解
  • 昇腾NPU环境搭建
  • 深度学习推理引擎---TensorRT
  • EWOMAIL
  • Debiased Multimodal Understanding for Human Language Sequences
  • STM32外设AD/DA-基础及CubeMX配置
  • 单例模式(Singleton Pattern)详解
  • 学习日志08 java
  • 宁波高端网站制作公司/代做百度收录排名
  • 营销型网站一站式服务/网站宣传方法
  • 珠海网站建设找哪家/游戏推广代理平台
  • 建设电子商务网站的规划书/搜狗收录提交
  • 怎么用自己的主机做网站服务器/站优云网络公司
  • jsp动态网站开发选择题/seo整站怎么优化