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

实战Leetcode(三)

Practice makes perfect!
在这里插入图片描述

实战一:
在这里插入图片描述

带环问题其实我们小学时就接触过,就比如在操场上比赛跑步的追击问题,这里也是一样,如果我们定义两个指针,一个快指针,一个慢指针,快指针走的快,一次走两步,慢指针一次走一步,那么如果有环的话这两个指针一定就会相遇。

bool hasCycle(struct ListNode *head) {struct ListNode* fast=head;struct ListNode* slow=head;while(fast&&fast->next)
{fast=fast->next->next;slow=slow->next;if(fast==slow)return true;
}
return false;
}

实战二:
在这里插入图片描述

这个题是上道题的升级版本,不仅需要你判断还要你返回环的位置,我们如果两个指针在相遇点相遇了,慢指针从相遇点开始走,头结点从初始位置开始走,那么他们一定会在入环的位置相遇。想到这里我们这个题是不是就迎刃而解了呢。

struct ListNode *detectCycle(struct ListNode *head) {struct ListNode* fast=head;struct ListNode* slow=head;while(fast&&fast->next){fast=fast->next->next;slow=slow->next;if(fast==slow){struct ListNode* meet=slow;while(meet!=head){head=head->next;meet=meet->next;}return meet;}}return NULL;
}

方法来自于实践,在实践中积累方法,继续加油!

http://www.lryc.cn/news/225912.html

相关文章:

  • 【PTE-day05 宽字节注入】
  • 计算机网络期末复习-Part3
  • docker在虚拟机中的应用
  • 小程序样式淡入淡出效果
  • 虚幻5 删除C盘缓存及修改缓存路径
  • 手写C++ 实现链表的反转、删除、合并
  • 虚幻C++基础 day4
  • 【Vue】【uni-app】工单管理页面实现
  • 【系统架构设计】架构核心知识: 2.1 软件过程模型
  • 数据管理系统-week1-文件系统、数据库和数据库管理系统
  • 探索OpenCV中直方图的神奇之处:应用与实现
  • MapReduce编程——矩阵乘法(Python版本)
  • nature日报:为什么印度德里现在的空气污染如此严重?
  • ChatGPT、GPT-4 Turbo接口调用
  • IDEA中常用的调试快捷键
  • 需要设计易清洗的口琴
  • 贝锐蒲公英智慧运维方案:实现远程网络监控、管理、维护工业设备
  • Intel oneAPI笔记(4)--jupyter官方文档(Unified Shared Memory)学习笔记
  • dRep-基因组质控、去冗余及物种界定
  • 截图贴图软件推荐 - 附下载链接 | Snipaste | Steuna
  • python调用chrome实现网页自动操作
  • FFMPEG库实现mp4/flv文件(H264+AAC)的封装与分离
  • 《红蓝攻防对抗实战》九.内网穿透之利用GRE协议进行隧道穿透
  • 大数据毕业设计选题推荐-智慧消防大数据平台-Hadoop-Spark-Hive
  • LeetCode 面试题 16.20. T9键盘
  • systemctl enable docker.service报错“Failed to execute operation: Bad message“
  • 向量的范数、矩阵的范数
  • C# OpenCvSharp 玉米粒计数
  • 前端缓存机制——强缓存、弱缓存、启发式缓存
  • 对称密钥加密与非对称密钥加密:原理与应用