您的位置:首页 > 科技 > 能源 > 企业网站建设与管理简述_电商商城开发_优化关键词排名优化公司_b站推广是什么意思

企业网站建设与管理简述_电商商城开发_优化关键词排名优化公司_b站推广是什么意思

2024/9/24 3:23:27 来源:https://blog.csdn.net/yqq962464/article/details/142183791  浏览:    关键词:企业网站建设与管理简述_电商商城开发_优化关键词排名优化公司_b站推广是什么意思
企业网站建设与管理简述_电商商城开发_优化关键词排名优化公司_b站推广是什么意思

题目

回文链表

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。
输入:head = [1,2,2,1]
输出:true

思路

  • 找到中间节点
  • 反转后半部分链表
  • 前后链表顺序比对
public boolean isPalindrome2(ListNode head) {if (head == null || head.next == null) return true;ListNode p = head;ListNode middleNode = findMiddleNode(p);ListNode q = reverseNode(middleNode.next); //因为要区分奇偶 所以传入中间节点的后一个节点while (q != null){if (p.val != q.val){return false;}p = p.next;q = q.next;}return true;
}//寻找中间节点
public ListNode findMiddleNode(ListNode head){ListNode p1 = head;ListNode p2 = head;while(p1 != null && p1.next != null){p1 = p1.next.next;p2 = p2.next;}return p2;
}//反转后半部分链表
public ListNode reverseNode(ListNode head){ListNode p = head;ListNode pre = null;while(p != null){ListNode tmp = p.next;p.next = pre;pre = p;p = tmp;}return pre;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com