
leetcode刷题练习
文章平均质量分 61
今天也好困。
这个作者很懒,什么都没留下…
展开
-
哈希表练习(分别用map、array、vector实现)
leetcode-49 字母异位词分组题目描述给定一个字符串数组,将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词指字母相同,但排列不同的字符串。示例 1:输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]示例 2:输入: strs = [""]输出: [[""]]示例 3:输入: strs = [“a”]输出: [[“a原创 2021-07-22 21:03:42 · 389 阅读 · 0 评论 -
环形链表练习
leetcode-142 环形链表Ⅱ题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为原创 2021-07-22 09:54:04 · 134 阅读 · 0 评论 -
删除链表倒数第n个节点
leetcode-19 删除链表倒数第N个节点题目描述给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove原创 2021-07-22 09:21:52 · 121 阅读 · 1 评论 -
反转链表练习
leetcode-92 反转链表Ⅱ题目描述给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。示例 1:输入:head = [1,2,3,4,5], left = 2, right = 4输出:[1,4,3,2,5]示例 2:输入:head = [5], left = 1, right = 1输出:[5]来源:力扣(LeetCode)链接:https原创 2021-07-21 22:42:51 · 156 阅读 · 0 评论 -
链表基本操作
leetcode-707 设计链表题目描述设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。addAtHead(val):在链表的第一个元素之前添加一个值为原创 2021-07-21 22:14:57 · 152 阅读 · 0 评论 -
螺旋矩阵算法练习
leetcode-59 螺旋矩阵Ⅱ题目描述给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:输入:n = 1输出:[[1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/spiral-matrix-ii思路看到这个题莫名想到递归,这个题无非就是一圈一圈来呗,从原创 2021-07-21 15:08:13 · 112 阅读 · 0 评论 -
滑动窗口算法练习
leetcode-904 水果成篮题目描述在一排树中,第 i 棵树产生 tree[i] 型的水果。你可以从你选择的任何树开始,然后重复执行以下步骤:把这棵树上的水果放进你的篮子里。如果你做不到,就停下来。移动到当前树右侧的下一棵树。如果右边没有树,就停下来。请注意,在选择一颗树后,你没有任何选择:你必须执行步骤 1,然后执行步骤 2,然后返回步骤 1,然后执行步骤 2,依此类推,直至停止。你有两个篮子,每个篮子可以携带任何数量的水果,但你希望每个篮子只携带一种类型的水果。用这个程序你能收集的原创 2021-07-20 17:38:48 · 111 阅读 · 0 评论 -
双指针算法练习
双指针算法练习leetcode-283 移动零题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes思路创建一个快指针和一个慢指针,采用一层for循环遍历数组,每循环一次快指针加一,原创 2021-07-19 12:25:02 · 132 阅读 · 0 评论 -
二分查找练习
文章目录二分查找练习leetcode35 - 查找插入位置题目描述思路代码leetcode34 -在排序数组中查找第一个和最后一个元素的位置题目描述思路代码二分查找练习leetcode35 - 查找插入位置题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1来源:力扣(LeetC原创 2021-07-16 21:56:56 · 406 阅读 · 4 评论