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

怎么让谷歌收录我的网站公众号采集wordpress

怎么让谷歌收录我的网站,公众号采集wordpress,网络加速,如何撰写网站建设方案判定链表是否是回文串 判定链表是否是回文串 题目 对于一个链表,请设计一个时间复杂度为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/816990.html

相关文章:

  • 选择常州网站建设公司wordpress手机滑动导航
  • 接入备案和增加网站为何打不开中国建设银行网站
  • 整站seo策略实施棋牌软件制作开发app公司
  • 百度旗下的外贸建站公司北京网站建设课程培训
  • 为什么要建设就业指导网站如何建微信商城网站
  • 网站建设犀牛云wordpress一键分享
  • 阳江做网站详细解读硬件产品开发流程图
  • 17. 整个网站建设中的关键是网络推广平台软件app
  • 单页网站赚钱外贸网站建设的重要性
  • 南阳网站建设制作价格招聘wordpress
  • 网站模板如何修改域名成都网站建设 致尚
  • 网站源码带手机版在线设计平台优缺点
  • 2017网站建设前景个人网站备案需要什么
  • 单页面网站制作教程石家庄万达网站制作
  • 外贸型企业网站建设能进封禁网站的手机浏览器
  • 青岛网站定制开发大二网页设计实训总结
  • 深圳网站建设网站排名优化asp.net网站恢复
  • 丽水专业网站建设价格快站建站
  • 游戏怎么做充值网站简单公司网站
  • 网站建设人员培训网站关键词提取工具
  • 营销型网站建设哪里有怎么做seo
  • 南通网站建设公司哪家好优秀企业
  • 网站脚本怎么做多语言 网站源码
  • 昆明网站制作计划淘宝客网站开发 猪八戒
  • 深圳博纳网站建设建筑公司企业使命和愿景大全
  • 北京房山网站建设开发公司网签补充合同
  • 建企业网站步骤深圳市建设工程质量检测中心官网
  • 深圳网站优化广东省城乡建设厅网站
  • 网站开发哪个工具网站建设公司的优势
  • 阜新网站建设单位网络推广的优化服务