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

电子商务网站建站正在播网球比赛直播

电子商务网站建站,正在播网球比赛直播,网站空间的参数,电商网站建设总结反转链表 问题描述 给定单链表的头节点 head,要求反转链表并返回反转后的链表头节点。 题目传送门 思路一:创建新链表头插法 核心思路:创建新链表,将原链表中的节点拿来头插 算法步骤 初始化新链表头节点 newhead 为 NULL使…

反转链表

问题描述

给定单链表的头节点 head,要求反转链表并返回反转后的链表头节点。

题目传送门

在这里插入图片描述

思路一:创建新链表头插法

核心思路:创建新链表,将原链表中的节点拿来头插

算法步骤

  1. 初始化新链表头节点 newheadNULL
  2. 使用指针 pcur 遍历原链表
  3. 每次循环中:
    • 保存 pcur 的下一个节点(防止丢失后续节点)
    • pcur 插入到新链表头部
    • 更新新链表头节点为 pcur
    • 移动 pcur 到下一个节点
  4. pcurNULL 时,返回新链表头节点

如图:

在这里插入图片描述

struct ListNode* reverseList(struct ListNode* head) {struct ListNode* newhead,*pcur;newhead=NULL;pcur=head;while(pcur){struct ListNode* tmp=pcur->next;//先保存pcur的下一个节点 头插时会改变pcur的指向//头插pcur->next=newhead;newhead=pcur;pcur=tmp;}return newhead;}

复杂度分析

  • 时间复杂度:O(n),只需遍历链表一次
  • 空间复杂度:O(1),仅使用固定数量的指针变量

思路二:三个指针法

指针定义

  • n1:指向已反转部分的最后一个节点(初始为NULL)
  • n2:指向当前待反转节点(初始为头节点)
  • n3:指向下一个待反转节点(初始为头节点的下一个节点)

算法步骤

  1. 初始化三个指针:n1 = NULL, n2 = head
  2. 如果链表非空,则设置 n3 = head->next
  3. 循环操作直到 n2 为空:
    • n2next 指针指向 n1(反转当前节点)
    • n1 移动到 n2 位置
    • n2 移动到 n3 位置
    • 如果 n3 不为空,则将 n3 移动到下一个节点
  4. 返回 n1(即新链表的头节点)

如图

在这里插入图片描述
)

可以看到循环结束的条件是n2为空

struct ListNode* reverseList(struct ListNode* head){struct ListNode* n1,*n2,*n3;n1=NULL;n2=head;if(n2)//判断链表是否为空n3=n2->next;while(n2){n2->next=n1;n1=n2;n2=n3;if(n3)//判断n3是否为空n3=n3->next;}return n1;
}

注意事项

  1. 边界条件处理
    • 空链表:直接返回 NULL
    • 单节点链表:无需反转,直接返回头节点
  2. 指针移动顺序
    • 必须先更新 n1n2,再更新 n3
    • 更新 n3 前需要检查其是否为空,避免空指针异常

复杂度分析

  • 时间复杂度:O(n),只需遍历链表一次

  • 空间复杂度:O(1),仅使用固定数量的指针变量

    方法对比分析

方法优点缺点适用场景
头插法逻辑清晰,易于理解需要额外空间存储新链表教学演示,简单场景
三指针法原地操作,空间效率高指针操作需要谨慎内存受限环境

总结

反转链表是链表操作中的经典问题,2种方法各有特点:

  1. 头插法:直观易懂,适合初学者理解链表反转的基本原理

  2. 三指针法:空间效率最优,适合实际开发中的内存敏感场景

受限环境

http://www.dtcms.com/wzjs/19472.html

相关文章:

  • 自己的网站没有域名建立网站的几个步骤
  • 注册官网全网优化推广
  • 怎么管理购物网站什么是seo标题优化
  • webmaster网站制作百度网页广告怎么做
  • 做的网站怎么上传到网上运行网络推广员的工作内容
  • 做网络的网站很重要吗十大收益最好的自媒体平台
  • led灯网站建设案例网址怎么创建
  • 网站建设计算机人员招聘一站传媒seo优化
  • 小程序自己做网站电话销售怎么找客户渠道
  • 公司网站怎么做啊企业文化建设
  • 微信里有人发做任务网站宁波网站建设
  • 免费网站正能量软件seo排名优化表格工具
  • 个人微网站怎么做广州婚恋网站排名
  • 免费空间 上传网站宣传网站站点最有效的方式是
  • 泊头市有做网站的吗数据营销
  • 计算机专业设计一个网站网络软文广告
  • 公司网站地址优化关键词排名工具
  • 玉林市网站建设seo网站快速排名
  • 自己做的网站怎么放到外网上刚刚地震最新消息今天
  • 电商网站建设制作青岛网站排名公司
  • 网站内容及实现方式企业网站建设方案模板
  • 台州商务网站英文seo外链
  • 有没有可以发布需求的网站百度登录
  • 网站首页flash模板个人网站设计
  • 怎么利用网站做cpa推广免费注册域名网站
  • 如何建设微信网站专业网站推广引流
  • 免费企业网站建设哪种网络公司seo教程
  • 网站制作有名 乐云践新专家西安今天刚刚发生的新闻
  • 南京网站建设招聘网站开发软件有哪些
  • 网站建设专利申请小红书推广运营