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

怎么建立一个网址seo专业培训课程

怎么建立一个网址,seo专业培训课程,杰森影像网站建设,网站设计制作靠谱公司回文链表判定 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 方法一:栈反转对比法 解题思路:找到中间节点后用栈辅助反转对比 解题方法&#xff1…

回文链表判定

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。

方法一:栈反转对比法

解题思路:找到中间节点后用栈辅助反转对比
解题方法:
找到链表的中间节点并判断奇数还是偶数
头结点到中间节点前的节点入栈,偶数从中间节点开始和栈内元素进行比较;
奇数从中间节点后面的节点开始和栈内元素进行比较;
若比较到最后一个节点都相等该链表为回文链表(栈空或比较到最后一个节点)
时间复杂度:O(n)
空间复杂度:O(n)

import java.util.List;
import java.util.Stack;import javax.management.ListenerNotFoundException;/*** 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 static boolean isPalindrome(ListNode head) {/*** head -> 1 -> 2 -> 2 -> 1 -> null* head -> 1 -> 2 -> 1 -> null* 找到链表的中间节点并判断奇数还是偶数* 头结点到中间节点的节点入栈,偶数从中间节点开始和栈内元素进行比较;* 奇数从中间节点后面的节点开始和栈内元素进行比较;* 若比较到最后一个节点都相当该链表为回文链表(栈空或比较到最后一个节点)*/if(head == null){return false;}ListNode dummy = new ListNode(-1);dummy.next=head;ListNode slow=dummy;ListNode fast=dummy;ListNode midNode=null;Boolean isEvent=true;while (fast.next!=null){slow=slow.next;if(fast.next.next!=null) {fast = fast.next.next;} else{fast=fast.next;isEvent=false;}}midNode = isEvent ? slow.next : slow;Stack<ListNode> stack=new Stack<>();ListNode p=dummy.next;while(p!=midNode){stack.push(p);p=p.next;}ListNode m=isEvent?midNode:midNode.next;while(m!=null){ListNode tmp=stack.pop();if(m.val!=tmp.val){return false;}m=m.next;}return true;}
}

方法二:链自反转对比法

解题思路:找到中间节点后用栈辅助反转对比
解题方法:
找到链表的中间节点并判断奇数还是偶数
继续利用双指针反转中间节点前的链表。
偶数从中间节点开始和反转链进行比较;
奇数从中间节点后面的节点开始和反转链进行比较;
若比较到最后一个节点都相等该链表为回文链表(栈空或比较到最后一个节点)
时间复杂度:O(n)
空间复杂度:O(1)

   public static boolean isPalindrome(ListNode head) {/*** [1,0,1]* head -> 1 -> 2 -> 2 -> 1 -> null* head -> 1 -> 2 -> 1 -> null找到链表的中间节点并判断奇数还是偶数继续利用头插法反转中间节点前的链表。偶数从中间节点开始和反转链进行比较;奇数从中间节点后面的节点开始和反转链进行比较;若比较到最后一个节点都相等该链表为回文链表(栈空或比较到最后一个节点)*/if(head == null){return false;}ListNode dummy = new ListNode(-1);dummy.next=head;ListNode slow=dummy;ListNode fast=dummy;ListNode midNode=null;Boolean isEvent=true;while (fast.next!=null){slow=slow.next;if(fast.next.next!=null) {fast = fast.next.next;} else{fast=fast.next;isEvent=false;}}midNode = isEvent ? slow.next : slow;ListNode p = head;head=null;while (p!=midNode){ListNode tmp=p.next;p.next=head;head=p;p=tmp;}//偶数从中间节点开始和反转链进行比较ListNode m = isEvent ? midNode : midNode.next;boolean isPalindrome=true;p=head;while (isPalindrome && p!=null){if(p.val!=m.val){isPalindrome=false;}p=p.next;m=m.next;}// 还原链表p = head;head=midNode;while (p!=null){ListNode tmp=p.next;p.next=head;head=p;p=tmp;}return  isPalindrome;}
http://www.tj-hxxt.cn/news/77951.html

相关文章:

  • 百度seo新站优化关键词排名优化怎么样
  • 网站建设需要什么知识网站怎么做收录
  • 网站建设网站合同版本微信营销的方法和技巧
  • 贵阳网站建设方案推广无线新闻台直播app下载
  • 网站登录设计欣赏国际网站平台有哪些
  • 阿里巴巴的网站是自己做的吗太原网站建设开发
  • 运营网站赚钱竞价推广哪里开户
  • 温州微网站开发深圳优化排名公司
  • 电商网站建设属于研发费用吗网站建立的步骤
  • 沧州做网站的公司排名永久免费自助建站平台
  • 网页升级访问最新区域每天自动更新重庆关键词优化服务
  • 专业点的网站制作公司app开发平台开发
  • 外贸企业独立建站山东seo推广公司
  • 网站首页漂浮广告代码舆情分析
  • 介绍一学一做视频网站吗永久免费的培训学校管理软件
  • 动态网站开发组合网络优化报告
  • 怎么把文件放到网站的根目录网站建设策划书案例
  • 百度开发者百度seo找哪里
  • 兰州网站建设尚美网址域名注册
  • 做网站有自己的服务器彩虹云商城网站搭建
  • 做网站完整视频学it学费大概多少钱
  • 建设部网站有项目经理资质查询系统快速建站工具
  • 专业的佛山网站建设优化设计三要素
  • 天津网站建设座机号社交媒体营销三种方式
  • 网站开发验证码图片不显示如何添加百度指数
  • 17.zwd一起做网站池尾站企业网站的作用
  • html模板免费十个网页搜狗seo排名软件
  • 小程序云开发的弊端seo 页面
  • 做美缝在哪个网站接单网络营销平台推广方案
  • 网站主目录搜一搜