![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
xw的leetcode之旅
文章平均质量分 75
我是晓伍
此人很懒
展开
-
LeetCode [142. 环形链表 II]
本题来源于这里讲解部分首先使用快慢指针去遍历这个链表,第一个指针叫slow,第二个指针叫fast,他们都从head处开始,fast每次走两个next,slow每次走一个next,如果fast走到了NULL,那么这个链表是一定没有环的,反之,如果fast因为在环中套圈,那么当两个指针相遇时,说明了他们套圈了,链表也就有环了,也就是slow == fast时说明链表有环。下面我们来思考为什么fast比slow走快一个单位一定会追上slow与slow相遇,而不是直接略过slow,。首先,因为是快走一个单位原创 2021-10-25 19:19:48 · 154 阅读 · 0 评论 -
数据结构--单链表的实现(c语言实现)
C语言中动态链表的实现原创 2021-05-31 00:25:31 · 386 阅读 · 3 评论 -
leetcode刷题day4
本题来源于206. 反转链表题目如下:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]提示:链表中节点的数目范围是 [0, 5000]-5000 <= Node.val <= 5000思路我的思路是从A开始,通过改变指向来实现翻转:首先,要把这个链表倒过来,我们需要原创 2021-05-26 23:47:00 · 182 阅读 · 1 评论 -
leetcode刷题day3
本题来源于189. 旋转数组题目如下:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,原创 2021-05-24 22:56:10 · 130 阅读 · 1 评论 -
leetcode刷题day2
本题来源于 面试题 17.04. 消失的数字题目如下:数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?注意:本题相对书上原题稍作改动示例 1:输入:[3,0,1]输出:2示例 2:输入:[9,6,4,2,3,5,7,0,1]输出:8思路此题有两种比较优的方法做,第一种方法首先是用等差数列求和公式算出0 – n前n+1项的和,之后减去数组的和,得到的就是少掉的数字。而第二种方法用到了异或,我们先把0到n异或一遍之后再原创 2021-05-23 09:51:35 · 204 阅读 · 0 评论 -
leetcode刷题day1
此题来源于剑指offer 56 - 1.数组中数字出现的次数题目如下:一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]限制:2 <= nums.length <= 10000思路:这道题我用的是原创 2021-05-22 10:07:11 · 117 阅读 · 2 评论