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

网站流量被用完了关于阅读类网站的建设规划书

网站流量被用完了,关于阅读类网站的建设规划书,flash网站怎么做音乐停止,ui设计参考网站有哪些文章目录 环形链表判断是否有环找出环的入口位置 双指针反转链表#xff08;Reverse a Linked List#xff09;移除链表中的指定元素#xff08;Remove Linked List Elements#xff09; 环形链表 判断是否有环 环形链表是指链表中的某些节点的 next 指针指向了链表中的某… 文章目录 环形链表判断是否有环找出环的入口位置 双指针反转链表Reverse a Linked List移除链表中的指定元素Remove Linked List Elements 环形链表 判断是否有环 环形链表是指链表中的某些节点的 next 指针指向了链表中的某个前面的节点导致链表中的节点构成一个环。 思路快慢指针Floyd 判圈算法 我们可以使用 快慢指针 来判断链表中是否有环。这种方法也叫做 Floyd 判圈算法是一个经典且高效的解法。 ​ • 快指针slow pointer 每次移动一步。 ​ • 慢指针fast pointer 每次移动两步。 判断条件 如果链表中没有环快指针最终会遇到 null这时候说明链表没有环。如果链表有环快指针和慢指针一定会相遇因为快指针每次移动两步而慢指针每次移动一步快指针追得上慢指针。 // 判断 是否有环public boolean hasCycle(ListNode head) {ListNode slow head;ListNode fast head;while (fast ! null fast.next ! null) {slow slow.next;fast fast.next.next;if (slow fast) {return true;}}return false;}找出环的入口位置 一旦我们知道链表有环下一步就是 找到环的入口。这可以通过以下的步骤来实现 思路 ​ 1. 判断环的存在首先使用快慢指针来判断链表是否有环如果没有环则直接返回 null。 ​ 2. 找到环的入口 ​ • 假设链表有环快慢指针在环内相遇。 ​ • 将其中一个指针从头节点开始另一个指针保持在相遇位置。 ​ • 然后两个指针同时每次移动一步。它们相遇的位置就是环的入口。 为什么能这么做 ​ • 假设链表总共有 n 个节点其中前 k 个节点在环外后 n-k 个节点在环内。 ​ • 当快慢指针在环内相遇时假设慢指针在环内相遇的位置是 X。 ​ • 如果将其中一个指针移回链表的起点并让两个指针同时移动每次移动一步它们必定会在环的入口相遇。 public ListNode detectCycle(ListNode head) {ListNode slow head;ListNode fast head;// 1. 判断有没有环while (fast ! null fast.next ! null) {slow slow.next;fast fast.next.next;if (slow fast) { // 快慢指针相遇说明有环break;}}// 如果没有环直接返回 nullif (fast null || fast.next null) {return null;}// 2. 找到环的入口fast head; // 快指针移到链表头while (slow ! fast) {slow slow.next;fast fast.next;}return slow; // 返回环的入口 }双指针 反转链表Reverse a Linked List 反转链表是链表操作中最经典的题目之一特别是在面试中经常出现。这个问题的基本要求是将链表的节点顺序反转。 基本思路 使用三个指针来反转链表 ​ 1. prev指向当前节点的前一个节点。 ​ 2. cur指向当前节点。 ​ 3. next指向当前节点的下一个节点。 我们遍历链表将每个节点的 next 指针指向前一个节点。 public ListNode reverseList(ListNode head) {ListNode prev null;ListNode curr head;ListNode next null;while (curr ! null) {next curr.next;curr.next prev;prev curr;curr next;}return prev;}移除链表中的指定元素Remove Linked List Elements 值得注意移除元素需要保留该节点的前一个节点。 public ListNode removeElements(ListNode head, int val) {while (head ! null head.val val) {head head.next;}ListNode curr head;ListNode prev null;while (curr ! null) {if (curr.val val) {prev.next curr.next;curr prev.next;}else {prev curr;curr curr.next;}}return head;}
http://www.hkea.cn/news/14407023/

相关文章:

  • 公司建设网站流程好听顺口的公司名字
  • 广州做网站平台的企业青州市城乡建设局网站
  • 后台风格网站淮安新港建设有限公司网站
  • 上海网站建设设织梦 帝国 php cms 媒体网站 哪个
  • 网站外包 博客酒店vi设计公司
  • 网站定制开发是什么用dw制作网站建设
  • 免费搭建微信网站企业网站要怎么建设
  • 网站建设单选题idea15网站开发
  • 网站内部链接的策略天元建设集团有限公司法人
  • 温岭网站制作一般网站建设需要多少钱
  • 茶楼网站源码wordpress 目录打不开
  • 有网站模板怎么做网站ps做网站难吗
  • 中国建设银行网站口中国诚乡建设部网站
  • 建站公司生存难网上商城有哪些
  • 专业的西安免费做网站培训班学员培训心得
  • 网站内容更新及时网站活动页面
  • 辽阳企业网站建设团队建设银行网站 无法访问
  • 什么系统网站好网站备案 电信
  • 网站建设客户需要提供什么科目软件开发培训机构怎么鉴定好坏
  • 佛山网站设计实力乐云seo企业网站psd模板
  • 男的和女的做那种短视频网站美食网站开发前期准备
  • 网站建设教程实训心得企业培训课程分类
  • 网站访问速度优化工具自学网官网
  • 橙色可以做哪些网站评网网站建设
  • 祈网网站建设wordpress翻译公司网站
  • 怎么做网站登录站装修公司的网站怎么做
  • 电子商务网站建设的目标是什么意思wordpress 标签云 插件
  • 深圳做网站 信科便宜网站数据库出问题
  • 手机微信可以做网站吗php购物网站开发设计
  • 南阳网站营销外包公司关键词搜索名词解释