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

做调查赚钱的网站有哪些品牌网站怎么建设

做调查赚钱的网站有哪些,品牌网站怎么建设,益阳建设企业网站,网站建设费钱吗回文链表判定 给你一个单链表的头节点 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.yayakq.cn/news/296162/

相关文章:

  • 网站建设与管理实用教程课后答案投融资平台
  • 平原网站建设费用wordpress 漏洞 扫描
  • 桂林市内必去的地方系统优化是什么意思
  • 东城手机网站建设哪个网站域名便宜
  • 女的男的做那个视频网站做网站时的兼容问题
  • 定制网站 多少钱网页游戏怎么下载
  • 建设销售型企业网站建筑学网站
  • 网站建设详细需求说明书电商推广方法有哪些
  • 半成品网站如何优化培训体系
  • 做网站送的小程序有什么用微表单网站
  • 南京网站制作联系宋电脑手机一体网站
  • 济南建站方案设计网站案例网站
  • 兰州网站制作公司100销售app软件大概需要多少钱
  • 北京 建设工程 质监站网站seo排名点击器曝光行者seo
  • ps如何做网站横幅seo网站推广有哪些
  • 网站seo排名wordpress3.9zhcn
  • 十大网站黄页wordpress query_posts 分页
  • 郑州网站制作公司名单做网站龙头
  • 如何做网站销售包装设计公司名字
  • 网站建设有哪些工作需需要筹备怎么做起泡胶
  • 网站软件下载安装邯郸市哪里有做网站的
  • 做箱包外贸哪个网站好济南建设工程
  • 《两学一做 榜样》网站开发公司审计稽查的内容
  • 网站建设物理架构天元建设集团有限公司路桥工程公司
  • 怎么用ps做网站uiwordpress 自定义结构
  • 万网制作网站怎么样网站建设和网络营销区别
  • 北京建设部网站贵港市建设局网站
  • 网站怎么被百度收录怎么自己做彩票网站
  • 报名网站怎么做做外贸的数据网站有哪些
  • 河南建设银行官网招聘网站淘宝网网站设计分析