LeetCode
LeetCode刷题记录
Longer_Wish_C
这个作者很懒,什么都没留下…
展开
-
最小小花费爬楼梯
【代码】最小小花费爬楼梯。原创 2024-05-19 21:03:50 · 180 阅读 · 0 评论 -
剑指 Offer 27. 二叉树的镜像
解法2: 采用BFS从上往下对树进行处理,交换左右孩子结点。请完成一个函数,输入一个二叉树,该函数输出它的镜像。输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]解法1:采用递归进行处理。原创 2023-09-06 09:21:00 · 94 阅读 · 0 评论 -
剑指 Offer 32 - II. 从上到下打印二叉树 II
从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。原创 2023-08-13 22:24:59 · 112 阅读 · 0 评论 -
剑指 Offer 61. 扑克牌中的顺子
从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。原创 2023-08-09 21:44:23 · 196 阅读 · 0 评论 -
剑指 Offer 30. 包含min函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。原创 2023-08-09 20:51:06 · 146 阅读 · 0 评论 -
剑指 Offer 40. 最小的k个数
输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。原创 2023-08-08 23:10:50 · 296 阅读 · 0 评论 -
剑指 Offer 50. 第一个只出现一次的字符
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。s 只包含小写字母。原创 2023-08-05 22:39:01 · 122 阅读 · 0 评论 -
剑指 Offer 31. 栈的压入、弹出序列
【代码】剑指 Offer 31. 栈的压入、弹出序列。原创 2023-08-04 22:10:59 · 44 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右 非递减 的顺序排序,每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。原创 2023-08-03 22:09:47 · 29 阅读 · 0 评论 -
剑指 Offer 53 - II. 0~n-1中缺失的数字
【代码】剑指 Offer 53 - II. 0~n-1中缺失的数字。原创 2023-08-03 21:30:03 · 598 阅读 · 0 评论 -
剑指 Offer 53 - I. 在排序数组中查找数字 I
【代码】剑指 Offer 53 - I. 在排序数组中查找数字 I。原创 2023-08-02 22:48:24 · 59 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。找出数组中重复的数字。原创 2023-08-01 22:53:26 · 122 阅读 · 0 评论 -
剑指 Offer 29. 顺时针打印矩阵
【代码】剑指 Offer 29. 顺时针打印矩阵。原创 2023-07-31 22:34:49 · 26 阅读 · 0 评论 -
剑指 Offer 57. 和为s的两个数字
【代码】剑指 Offer 57. 和为s的两个数字。原创 2023-07-30 22:00:49 · 22 阅读 · 0 评论 -
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。采用双指针,i 从左往右,j从右往左,如果nums[i] 为奇数且nums[j]为偶数,则交换。原创 2023-07-26 21:57:10 · 57 阅读 · 1 评论 -
剑指 Offer 52. 两个链表的第一个公共节点
输入两个链表,找出它们的第一个公共节点。在节点 c1 开始相交。原创 2023-07-25 22:06:36 · 26 阅读 · 0 评论 -
剑指 Offer 25. 合并两个排序的链表
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。原创 2023-07-25 21:35:14 · 25 阅读 · 0 评论 -
剑指 Offer 18. 删除链表的节点
给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。原创 2023-07-25 20:59:14 · 21 阅读 · 0 评论 -
剑指 Offer 35. 复杂链表的复制
请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。因为random指向随机,所以复制过程中可能random指向的节点还没被建立,故需要向整体复制所有节点才能避免野指针。的映射,先复制其val值,然后迭代/递归复制next指向,最后再复制其随机指向。通过HashMap建立。原创 2023-07-24 22:20:04 · 23 阅读 · 0 评论 -
05. 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例。原创 2023-07-23 21:06:01 · 22 阅读 · 0 评论 -
翻转单词顺序
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。原创 2023-07-22 22:30:10 · 18 阅读 · 0 评论 -
移除 元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。链接:https://leetcode.cn/problems/remove-element。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。来源:力扣(LeetCode)原创 2023-07-20 22:12:09 · 24 阅读 · 0 评论 -
合并两个有序数组
为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。链接:https://leetcode.cn/problems/merge-sorted-array。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。商业转载请联系官方授权,非商业转载请注明出处。原创 2023-07-20 21:27:33 · 20 阅读 · 0 评论