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

关键词带淘宝的网站不收录居然之家装修公司官网

关键词带淘宝的网站不收录,居然之家装修公司官网,意大利语网站建设,企业查询卡判定链表是否是回文串 判定链表是否是回文串 题目 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度…

判定链表是否是回文串

判定链表是否是回文串

题目

对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。

思路

1. 处理边界情况:如果链表为空(A == null)或只有一个节点(A.next == null),那么它天然满足回文结构,直接返回 true。

2. 快慢指针找中点:使用两个指针 slow 和 fast,其中 fast 每次走两步、slow 每次走一步,当 fast 走到末尾时,slow 正好指向链表的中间节点。

3. 反转后半部分链表:从 slow 所在位置开始,使用三指针法(当前节点 cur、前驱节点 pre、临时保存下一个节点 curNext)将链表的后半部分进行原地反转。

4. 比较前后两段是否相同:定义两个指针 left(从头节点 A 开始)和 right(从反转后的后半段头节点 pre 开始),依次比较对应节点的值是否相等。

5. 返回最终结果:如果所有对应节点的值都相等,则说明链表是回文结构,返回 `true`;如果中途发现有不相等的节点,则立即返回 false。

代码
public class PalindromeList {public boolean chkPalindrome(ListNode A) {if (A == null || A.next == null) {return true;}ListNode slow = A, fast = A;while (fast != null && fast.next  != null) {slow = slow.next;fast = fast.next.next;}ListNode cur = slow,pre = null;while(cur != null) {ListNode curNext = cur.next;cur.next = pre;pre = cur;cur = curNext;}ListNode left = A,right = pre;while(right != null ) {if(left.val != right.val) return false;left = left.next;right = right.next;}return true;}
}
时间复杂度分析
  1. 快慢指针找中点(O(n)):

    • 使用快慢指针 slowfast,其中 fast 每次移动两步,slow 每次移动一步。

    • fast 遍历到链表末尾时,slow 刚好到达链表的中间位置。

    • 这个过程需要遍历整个链表一次,时间复杂度为 O(n)

  2. 反转后半部分链表(O(n)):

    • slow 开始,反转链表的后半部分。

    • 每个节点只被访问一次,因此时间复杂度为 O(n)

  3. 比较前后两部分(O(n)):

    • 将链表前半部分和反转后的后半部分逐个节点进行比较。

    • 最多遍历一半的链表长度,因此时间复杂度为 O(n)

总体时间复杂度

  • 所有步骤的时间复杂度都是 O(n),因此总体时间复杂度为 O(n)


空间复杂度分析

  1. 额外空间使用:

    • 快慢指针、反转链表以及比较过程中使用的变量都是常数级别的额外空间。

    • 没有使用任何额外的数据结构(如栈、数组等),也没有递归调用。

空间复杂度

  • 因此,算法的空间复杂度为 O(1),即仅使用了常数级别的额外空间。

总结

分析项复杂度
时间复杂度O(n)
空间复杂度O(1)
http://www.dtcms.com/wzjs/830381.html

相关文章:

  • 深圳建筑设计事务所网站seo优化免费
  • 网站后台管理系统制作软件网页制作三剑客是指什么
  • 网站建设费ui培训班教程
  • 微信网页版文件传输助手企业seo推广的绝密诀窍曝光
  • cdn网站网络加速器上海网站推广策划
  • 建设网站服务器 知乎vr全景怎么做小程序
  • 无为网站建设wordpress设计博客
  • 中国建设银行信用卡网站网站制作厂家
  • 长春建网站一般多少钱临海做网站的公司
  • 赣榆区住房和城乡建设局网站软件开发外包公司哪个好
  • 房地产网站推荐系统之家一键重装
  • 建立互联网公司网站装修公司企业网站开发规划
  • logo参考网站wordpress 自适应门户
  • 好网站建设公司收费15年做那些网站致富
  • 网站开发设计师培训青岛网站建设多少钱
  • 个人电子商务网站建设三网合一网站建设全包费用
  • 网站如何不需要备案零基础学习网站开发
  • 电子商务html网站模板东阳畅销自适应网站建设
  • 建筑网站 知乎wordpress导入文件
  • 建立网站站建设可以吗WordPress调用内部js
  • 系部网站建设需求分析运行需求常熟开发区人才网
  • 上海平台网站建设报景区官方网站建设
  • 建设一个电商网站的步骤新沂网站开发
  • 书店网站网站建设规划书苏州网站建设案例
  • 相城区住房建设局网站长沙加度网络科技有限公司
  • 蓬莱做网站价格太原关键词优化软件
  • 怎么用php语言做网站国美的网站做的怎么样
  • 服务器ip做网站建设网站企业哪家好
  • 怎么在百度建设网站网站开发新加坡
  • aspcms网站地图生成网站建设提供资料