142. 环形链表 II

思路:利用快慢指针(Floyd 判圈法)。给定两个指针, 分别命名为 slow 和 fast,起始位置在链表的开头。每次 fast 前进两步,slow 前进一步。如果 fast 可以走到尽头,那么说明没有环路;如果 fast 可以无限走下去,那么说明一定有环路,且一定存 在一个时刻 slow 和 fast 相遇。当 slow 和 fast 第一次相遇时,我们将 fast 重新移动到链表开头,并 让 slow 和 fast 每次都前进一步。当 slow 和 fast 第二次相遇时,相遇的节点即为环路的开始点。(参考LeetCode 101

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode *detectCycle(struct ListNode *head) {struct ListNode *slow,*fast;slow = fast = head;do{if(fast == NULL || fast->next == NULL)return NULL;fast = fast->next->next;slow = slow->next;}while(slow != fast);//走到此处,说明存在环fast = head;while(fast != slow){fast = fast->next;slow = slow->next;}return fast;
}

633. 平方数之和

介于c 的取值范围,因此在计算的过程中可能会发生int型溢出的情况,需要使用long 型避免溢出。

bool judgeSquareSum(int c){long a,b;a = 0; b = (int)sqrt(c);while(a <= b){long sum = a*a + b*b;if(sum == c)return true;else if(sum < c)a++;else if(sum > c)b--; }return false;
}

代码原理,参考这位大佬,写的超级好https://leetcode.cn/problems/sum-of-square-numbers/solution/shuang-zhi-zhen-de-ben-zhi-er-wei-ju-zhe-ebn3/

142. 环形链表 II AND 633. 平方数之和相关推荐

  1. 【Leetcode】拿捏链表(四)——160. 相交链表、141. 环形链表、142. 环形链表 II

    作者:一个喜欢猫咪的的程序员 专栏:<Leetcode> 喜欢的话:世间因为少年的挺身而出,而更加瑰丽.                                  --<人民 ...

  2. LeetCode-链表-142. 环形链表 II

    描述 142. 环形链表 II 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 ...

  3. 142. 环形链表 II golang

    142. 环形链表 II 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始 ...

  4. LeetCode 142 环形链表 II

    题目描述 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null.为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开 始). 如果 po ...

  5. 【LeetCode】【HOT】142. 环形链表 II(快慢指针)

    [LeetCode][HOT]142. 环形链表 II 文章目录 [LeetCode][HOT]142. 环形链表 II package hot;class ListNode{int val;List ...

  6. LeetCode 142. 环形链表 II(Linked List Cycle II)

    142. 环形链表 II 142. Linked List Cycle II 题目描述 给定一个链表,返回链表开始入环的第一个节点.如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整 ...

  7. 如何判断链表中是否存在环?Floyd判圈算法 leetcode刷题笔记 142. 环形链表 II

    这道题使用了floyd判圈算法,所以先讲解floyd算法的原理和实现,最后在附加上第142题的代码. floyd算法: 一.用途: 可以在有限状态机.迭代函数或者链表上判断是否存在环,求出该环的起点与 ...

  8. LeetCode 142. 环形链表 II - Python 快慢指针法+详解

    题目 142. 环形链表 II 难度中等761 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的 ...

  9. 142. 环形链表 II

    142. 环形链表 II 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始 ...

  10. C#刷遍Leetcode面试题系列连载(4): No.633 - 平方数之和

    点击蓝字"dotNET匠人"关注我哟 加个"星标★",每日 7:15,好文必达! 前文传送门: 上篇文章中一道数学问题 - 自除数,今天我们接着分析 LeetC ...

最新文章

  1. 节能信标组雌雄双煞 - 来自于洛阳理工学院信标组的车模
  2. python php perl,python 调用 php 范例
  3. xalan_如何以10倍速加速Apache Xalan的XPath处理器
  4. LeetCode 459. 重复的子字符串(数学)
  5. 【译】Redis喜提新数据结构:Redis Streams
  6. Android2.2 新特性
  7. 运用incremental backup恢复归档GAP的DG-上篇
  8. 64位MicrosoftOfficeWord加载EndnoteX7
  9. 华为安装gsm框架_华为gms框架app下载-华为gms框架2020版下载最新版-乐游网安卓下载...
  10. IAR开发环境的搭建以及CC2530单片机程序编程实验
  11. ApacheCN 活动汇总 2019.8.16
  12. 循环小题题库存档(期末复习)
  13. 基于74hc573的数码管模块测试
  14. python中trun是什么意思_Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun錯誤解決方案...
  15. 户外运动耳机如何选择、最优秀的五款户外运动耳机推荐
  16. 20个免费下载PSD设计网站
  17. 互联网快讯:百世供应链发力汽配赛道;极米NEW Z6X升级版Z6X Pro上线;美的发布方舱医院集成化解决方案
  18. 二分图的匹配——匈牙利算法
  19. python实验六 语音信号处理
  20. 动手深度学习——Pytorch 入门语法一

热门文章

  1. MAC 使用brew安装java11并与java8共存
  2. 使用FFMPEG将非YUV420p压缩成JPG
  3. 使用FFmpeg命令合并音视频
  4. gitlab 多人协同工作
  5. Word2Vec与文章相似度
  6. 飞鱼星的虚拟服务器设置,设置简单功能丰富 三步就能设置好_飞鱼星 G7_网络设备无线网络和技术-中关村在线...
  7. [升级失效]超星学术视频下载分析
  8. 0x0F转换成二进制
  9. ddos硬件防火墙(DDOS硬件防火墙)
  10. pb 如何导出csv_如何巧用长投温度定投指数基金