文章 2023-04-24 来自:开发者社区

leet_code_202.快乐数(快慢指针)

题目信息编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。如果 n 是快乐数就返回 True ;不是,则返回 False 。示例:输入:19 输出:true 解释: 12 + 92 = 82 82 + 22 ....

文章 2023-04-24 来自:开发者社区

链表经典刷题--快慢指针与双指针

本篇总结链表解题思路----快慢指针,其实也就是双指针,这个快慢并不单纯指“快慢”,它更多的可以表示,速度快慢,距离长度,时间大小等等,用法很有趣也很独特,理解它的思想,是很有必要的。1.链表的中间结点----‘速度’要求返回链表中的中间结点;当有奇数个结点时,返回中间的结点,当有偶数个结点时,返回第二个中间结点。传统的思想是遍历链表,算链表长度,然后再找中间值。但如果只允许遍历一遍链表呢?这种....

链表经典刷题--快慢指针与双指针
文章 2023-04-16 来自:开发者社区

链表OJ之 快慢指针法总结

前言:快慢指针指的是每次指针移动的步长,是解决链表相关的题目的一大利器,下面我将以例题的形式讲解快慢指针法。 目录一. 链表的中间结点思路:代码实现:二. 链表中倒数第k个结点思路:代码实现:三.  判断链表中是否有环思路:代码实现:四. 返回链表入环的第一个结点思路:代码实现:一. 链表的中间结点点我做题思路:创建两个快慢指针 slow , fast ,起始共同指向头节点,slow ....

链表OJ之 快慢指针法总结
文章 2023-01-19 来自:开发者社区

LeetCode | 一探环形链表的奥秘【快慢双指针妙解BAT等大厂经典算法题】

前言本文总结了力扣141.环形链表|以及142.环形链表||这两道有关环形链表的求解方案,去求证链表是否带环已经如何找出入环口的结点。有关环形链表,在BAT等大厂面试中均有出现,一般是属于==中等难度==的题,需掌握一、题目描述原题传送门给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,....

LeetCode | 一探环形链表的奥秘【快慢双指针妙解BAT等大厂经典算法题】
文章 2023-01-19 来自:开发者社区

力扣876 - 链表的中间结点【快慢指针】

@TOC一、题目描述给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans....

力扣876 - 链表的中间结点【快慢指针】
文章 2023-01-17 来自:开发者社区

力扣26 - 删除有序数组中的重复项【快慢指针】

@TOC一、题目描述给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k 个位置后....

力扣26 - 删除有序数组中的重复项【快慢指针】
文章 2023-01-15 来自:开发者社区

反复遍历链表,尝试快慢指针和多指针

反复遍历链表,尝试快慢指针和多指针最近在看数据结构和算法,努力总结出道~TL;DR链表就是嵌套的对象,{val:1,next:{val:2,next:...}}链表里的指针,听起来很抽象,其实就是部分链表,依旧是嵌套对象,p 是{val:1,next:{val:2,next:...}}指针往后挪动,其实就是p = p.next,也就是 p 变成{val:2,next:...}链表的最后一个节点,....

反复遍历链表,尝试快慢指针和多指针
文章 2023-01-09 来自:开发者社区

14天刷爆LeetCode算法学习计划——Day05 快慢指针(2)

一、前言盲目刷题只会让自己心态爆炸,所以本期14天算法学习计划,也是LeetCode上的 [算法]学习计划,在本专栏的每一篇文章都会整理每一天的题目并给出详细题解,以及知识点的整理二、知识点链表链表——初识链表快慢指针一种双指针的特殊移动方式,一般快指针的移动步长为慢指针的两倍,通过两个指针之间的差来解决问题三、LeetCode19. 删除链表的倒数第 N 个结点1.题目LeetCode19. ....

14天刷爆LeetCode算法学习计划——Day05 快慢指针(2)
文章 2023-01-08 来自:开发者社区

通过快慢指针来解决链表中倒数第k个节点的问题

链表中倒数第k个节点输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.解题思路我们....

通过快慢指针来解决链表中倒数第k个节点的问题
文章 2022-12-16 来自:开发者社区

判断链表是否存在环——快慢指针

class Solution { public: bool hasCycle(ListNode *head) { ListNode* slow=head; ListNode* fast=head; while(fast!=NULL&&fast->next!=NULL){ slow=slow-&g...

判断链表是否存在环——快慢指针

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。