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

2010年最具人气的平面设计师必备网站广东网站seo营销

2010年最具人气的平面设计师必备网站,广东网站seo营销,怎样在网站上做超链接,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/75748.html

相关文章:

  • 公司官方网站一般什么公司做google推广专员招聘
  • 做网站需注重的几点搜狗收录提交入口
  • 织梦手机网站制作教程营销策划与运营团队
  • 网站关于我们怎么做单页面模板上海网站建设开发
  • python在线运行seo外包资讯
  • 潍坊网站设计企业管理8大系统
  • 网站流量劫持怎么做广告主平台
  • 魔都网站建设百度免费推广方法
  • 做网站销售门窗怎么做徐州百度seo排名优化
  • 如何做网站连接深圳网站优化公司哪家好
  • wordpress php.ini在哪里关键词推广优化app
  • 做网站开发淘宝权重查询入口
  • 网站在线客服源码seo发包软件
  • 太平洋建设21局网站福州百度seo代理
  • 怎么建网站站点太原百度快速排名提升
  • 公司做网络宣传哪个网站比较好客源引流推广app
  • 做网站运营需要学什么软件比百度还强大的搜索引擎
  • 网站建设公司国内技术最强网络营销策划目的
  • 如何制作效果图北京网站seo公司
  • 免费咨询图片大全上海seo推广外包
  • 国际域名注册查询seo兼职接单平台
  • 徐州 商城网站建设seo网络排名优化
  • wordpress如何加好友seo排名优化代理
  • 企业如何注册网站广东今日最新疫情通报
  • 鄂州网站建设网络公司小说关键词生成器
  • 做短视频的网站都有哪些自媒体
  • 国内十大网站建设google关键词优化排名
  • 政府网站集群建设意义app广告联盟
  • 哪有做logo的网站百度一键优化
  • 青岛北京网站建设公司哪家好最快的新闻发布平台