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

网站建设高级 上海安溪网站开发

网站建设高级 上海,安溪网站开发,实验室网站建设方案,长春市建设集团问题背景 给你一个单链表的头节点 h e a d head head,请你判断该链表是否为 回文链表(回文 序列是向前和向后读都相同的序列)。如果是,返回 t r u e true true;否则,返回 f a l s e false false。 数据…

问题背景

给你一个单链表的头节点 h e a d head head,请你判断该链表是否为 回文链表(回文 序列是向前和向后读都相同的序列)。如果是,返回 t r u e true true;否则,返回 f a l s e false false

数据约束

  • 链表中节点数目在范围 [ 1 , 1 0 5 ] [1, 10 ^ 5] [1,105]
  • 0 ≤ N o d e . v a l ≤ 9 0 \le Node.val \le 9 0Node.val9

解题过程

非常经典的套路,先用快慢指针求出链表的中间节点,再从中间节点开始反转链表,最后从头开始和反转后的链表比对是否相等即可。

虽然题目没有要求,判断的题最好不要修改输入,所以最后再把链表反转回来。

具体实现

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public boolean isPalindrome(ListNode head) {// 快慢指针求中间节点ListNode middle = middle(head);// 从中间节点开始反转middle = reverse(middle);ListNode check1 = head, check2 = middle; // 存一下两个指针,防止丢失while(check2 != null) {if(check1.val != check2.val) {return false;}check1 = check1.next;check2 = check2.next;}// 把链表反转回来middle = reverse(middle);return true;}private ListNode middle(ListNode head) {ListNode slow = head, fast = head;// 模板化的判断非空,慢指针走一步同时快指针走两步,最后慢指针会停在链表中点处while(fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;}return slow;}private ListNode reverse(ListNode head) {// 初始化三个指针,分别指向头节点和它的前后节点// 由于循环中会率先更新 next 指针,这个变量可以不初始化ListNode pre = null, cur = head, next;while(cur != null) {// 反转操作next = cur.next;cur.next = pre;// 轮转指针pre = cur;cur = next;}return pre; // 注意要返回 pre}
}
http://www.yayakq.cn/news/882846/

相关文章:

  • 网站企业地图网上服务平台登录
  • 盐城市建设局网站物业资质微信指数
  • 网站用户体验度html网页制作代码大全免费
  • 建设网站的网站是什么合肥网站建设 卫来科技
  • 自己如何开网站文库网站建设
  • php大型网站开发江门网站优化排名
  • 做淘宝还有必要做网站吗地方网站商城怎么做
  • 金融机构网站建设费用手机免费app开发制作平台
  • 南通网站建设技术支持2020全国封城时间表
  • 营销型网站建设大千建站在哪个网站可以查做项目中标的
  • 响应式网站设计尺寸大连网站建设介绍
  • 网站建站东莞软件开发属于什么行业类别
  • 简述建站流程软件开发流程解读
  • 重庆江津做网站济宁商城网站建设
  • 张家口网站网站建设广告游戏
  • 石家庄的网站建设公司哪家好初创公司网站设计苏州
  • 制作网站需要的技术与软件软件设计说明书
  • 网站优化费用怎么做会计分录免费下载ppt课件软件
  • 深圳手机医疗网站建设免费网站空间 推荐
  • 传统网站建设团队网站解析什么意思
  • 网站前端切图做多个页面中国3.15诚信建设联盟网站
  • 网站开发介绍ppt凡科建站是放在哪个服务器上
  • net淘宝网站开发的例子网站功能设计方案
  • 外国ps修图网站wordpress装修公司模板
  • 网站如何做邮箱订阅做下载网站挣钱吗
  • 保健品网站建设案例沙井网站优化
  • 深圳苏州旅游网站建设服务网站建设优化服务特色
  • 网站开发程序是什么发布新闻稿
  • 做面膜的网站报班学网站开发价格
  • 数据库电影网站源码seo全网推广营销软件