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

江苏省品牌专业群建设专题网站常见的网站推广方式

江苏省品牌专业群建设专题网站,常见的网站推广方式,做网站为什么需要购买域名,做收款二维码的网站一、回文链表 234.回文链表 两种解法 解法1:时间复杂度O(n) 空间复杂度O(n) 遍历链表,计算链表长度,创建同样长度大小的数组,用数组存储链表中所有元素,之后双指针遍历链表,一个从头开始,一…

一、回文链表

234.回文链表

两种解法

解法1:时间复杂度O(n) 空间复杂度O(n)

遍历链表,计算链表长度,创建同样长度大小的数组,用数组存储链表中所有元素,之后双指针遍历链表,一个从头开始,一个从尾开始,比较元素是否相等;

class Solution {public boolean isPalindrome(ListNode head) {ListNode curr = head;int len = 0;if(head.next == null){return true;}while(curr != null){len++;curr = curr.next;}//重置currcurr = head;int[] nums = new int[len];for(int i = 0;i < nums.length;i++){if(curr != null){nums[i] = curr.val;curr = curr.next;}else{break;}}for(int i = 0,j = nums.length - 1;i < j;i++,j--){if(nums[i] != nums[j]) return false;}return true;}
}

注意⚠️:求完链表长度后,记得重置curr; 

解法2:时间复杂度O(n) 空间复杂度O(1)

快慢指针法(⭐️)

定义两个指针,快指针fast,慢指针slow,初始指向头结点,只要fast != null && fast.next != null,那么慢指针每次移动一个结点,快指针每次移动两个结点;直到fast不满足条件,此时,慢指针指向中点(链表个数为奇数),或者中点偏右的位置(链表个数为偶数);

之后,反转后半部分链表,然后比较前后两部分的数值,相等,则为回文链表,否则不是;

使用快慢指针法找到链表的中点的原理:

快指针的速度是慢指针的 2 倍所以当快指针走完全程时,慢指针刚好走了一半。

慢指针走过的路程为 x,那么快指针就是2x,2x = len,则x = 1/2 len;

class Solution {public boolean isPalindrome(ListNode head) {//快慢指针ListNode slow = new ListNode();ListNode fast = new ListNode();if(head == null || head.next == null){return true;}slow = head;fast = head;while(fast != null && fast.next != null){slow = slow.next;fast = fast.next.next;}//若链表为奇数个 此时slow指向中间点//若链表为偶数个 此时slow指向中间偏右的结点//反转后半部分链表ListNode pre = null;ListNode curr = slow;while(curr != null){ListNode temp = curr.next;curr.next = pre;pre = curr;curr = temp;}//此时pre指向反转后链表的头部//比较前后两部分链表ListNode pA = head;ListNode pB = pre;while(pB != null){if(pA.val != pB.val){return false;}pA = pA.next;pB = pB.next;}return true;}
}

注意⚠️:在比较前后两部分链表时,while中的判断条件只能是pB != null;

如果是pA != null,那么当链表个数为偶数时:1 2 3 4;

slow最后指向3,后半部分反转后,整体链表结构为:

前:1 --> 2 -->3 --> null       

后:4 ---> 3 --> null

pA遍历的是前半部分的链表,pB遍历后半部分,当pB指向null时,pA指向3,不为空,进入循环,pB.val就会报错:空指针异常; 

http://www.dtcms.com/wzjs/223007.html

相关文章:

  • 北京科技公司10强百度seo搜索引擎优化方案
  • 佛山 网址开发 网站制作互联网营销模式有哪些
  • 东莞公司网站建设网站后端开发
  • 动易网站后台app优化排名
  • 亚马逊备案网站建设百度网站推广价格
  • 凡客网站建设如何优化培训方式
  • 东莞市官网网站建设企业百度一下网页搜索
  • 网站制作架构百度新闻发布
  • 有没有专做烘焙的网站百度seo搜索引擎优化方案
  • 菏泽哪家网站设计公司好深圳网络营销策划公司
  • wordpress格子主题济南网络优化网站
  • 肯德基网站建设方案小说网站排名
  • 金华高端网站建设公司sem是指什么
  • 热 综合-网站正在建设中-手机版网络营销策划的内容
  • 以企业介绍为主做外贸网站好吗中国网民博客 seo
  • 动态网站开发什么技术好西安seo王
  • 怎么提高网站关键字排名推广代理平台登录
  • 网站推广策划内容宁波seo外包推广公司
  • 无锡企业如何建网站黑龙江暴雪预警
  • 湖北做网站的公司seo免费资源大全
  • b2c模式的平台有哪些网站优化排名怎么做
  • 怎么做网站跟域名seo研究中心qq群
  • 万户信息 做网站怎么样进行优化
  • 苏州市住房和建设局网站推广官网
  • 湛江有帮公司做网站北京seo公司哪家好
  • 网站建设预览网站关键词优化排名技巧
  • 如何做关于橱柜网站网站优化推广教程
  • 江苏国泰做的网站案例五种常用的网站推广方法
  • 白云区pc端网站建设淘宝推广软件哪个好
  • 临清网站开发怎么制作自己的网站网页