LeetCode
文章平均质量分 67
YEGE学AI算法
From Zero To Hero!
展开
-
[Leetcode] 0108. 将有序数组转换为二叉搜索树
108. 将有序数组转换为二叉搜索树题目描述给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。示例 1:输入:nums = [-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[0,-10,5,null,-3,nu...原创 2023-10-27 11:28:00 · 72 阅读 · 0 评论 -
[Leetcode] 0104. 二叉树的最大深度
104. 二叉树的最大深度题目描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。解法方法一:深度优先递归递归遍历左右子树,求...原创 2023-10-27 10:17:00 · 80 阅读 · 0 评论 -
[Leetcode] 0101. 对称二叉树
101. 对称二叉树题目描述给你一个二叉树的根节点 root , 检查它是否轴对称。示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:输入:root = [1,2,2,null,3,null,3]输出:false提示: 树中节点数目在范围 [1, 1000] 内 -100 <= Node.val <= 100进阶...原创 2023-10-25 09:49:00 · 73 阅读 · 0 评论 -
[Leetcode] 0100. 相同的树
100. 相同的树题目描述给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:p = [1,2,3], q = [1,2,3]输出:true示例 2:输入:p = [1,2], q = [1,null,2]输出:false示例 3:输入:p = [1,2,1]...原创 2023-10-24 20:17:00 · 48 阅读 · 0 评论 -
[Leetcode] 0094. 二叉树的中序遍历
94. 二叉树的中序遍历题目描述给定一个二叉树的根节点 root ,返回 它的 中序遍历 。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]提示: 树中节点数目在范围 [0, 100] 内 -100 <= Node.val <...原创 2023-10-24 17:06:00 · 53 阅读 · 0 评论 -
[Leetcode] 0088. 合并两个有序数组
88. 合并两个有序数组题目描述给你两个按 非递减顺序 排列的整数数组nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n...原创 2023-10-23 16:41:00 · 56 阅读 · 0 评论 -
[Leetcode] 0824. 山羊拉丁文
824. 山羊拉丁文题目描述给你一个由若干单词组成的句子sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文- Pig Latin 的虚构语言)。山羊拉丁文的规则如下: 如果单词以元音开头('a', 'e', 'i', 'o', 'u'),在单词后添加"ma"。 ...原创 2023-10-23 15:49:00 · 78 阅读 · 0 评论 -
[Leetcode] 0821. 字符的最短距离
821. 字符的最短距离题目描述给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符。返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。两个下标i 和 j 之间的 距离 为 abs(i - j) ,其中 abs 是绝对值函数。示例 1:输入...原创 2023-10-23 14:30:00 · 40 阅读 · 0 评论 -
[Leetcode] 0083. 删除排序链表中的重复元素
83. 删除排序链表中的重复元素题目描述给定一个已排序的链表的头head,删除所有重复的元素,使每个元素只出现一次。返回 已排序的链表。示例 1:输入:head = [1,1,2]输出:[1,2]示例 2:输入:head = [1,1,2,3,3]输出:[1,2,3]提示: 链表中节点数目在范围 [0, 300] 内 -100 <= Node.v...原创 2023-10-20 16:09:00 · 51 阅读 · 0 评论 -
[Leetcode] 0070. 爬楼梯
70. 爬楼梯题目描述假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3...原创 2023-10-20 15:02:00 · 57 阅读 · 0 评论 -
[Leetcode] 0069. x 的平方根
69. x 的平方根 题目描述给你一个非负整数 x ,计算并返回x的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842..., 由于...原创 2023-10-19 20:45:00 · 41 阅读 · 0 评论 -
[Leetcode] 0067. 二进制求和
67. 二进制求和题目描述给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。示例1:输入:a = "11", b = "1"输出:"100"示例2:输入:a = "1010", b = "1011"输出:"10101"提示: 1 <= a.length, b.length <= 104 a 和 b 仅由字符 '0' 或 '1' 组成...原创 2023-10-19 11:16:00 · 34 阅读 · 0 评论 -
[Leetcode] 0066. 加一
66. 加一题目描述给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例2:输入:digits = [4,3,2,1]输出:[4,3...原创 2023-10-18 10:29:00 · 60 阅读 · 0 评论 -
[Leetcode] 0058. 最后一个单词的长度
58. 最后一个单词的长度题目描述给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = "Hello World"输出:5解释:最后一个单词是“World”,长度为5。示例 2:输入:s = " fly me to the moon ...原创 2023-10-17 20:18:00 · 72 阅读 · 0 评论 -
[Leetcode] 0035. 搜索插入位置
35. 搜索插入位置题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例2:输入: nums = [1,3,5,6], target = 2输出: 1示例 ...原创 2023-10-17 16:05:00 · 50 阅读 · 0 评论 -
[Leetcode] 0027. 移除元素
27. 移除元素题目描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函...原创 2023-10-17 11:28:00 · 36 阅读 · 0 评论 -
[Leetcode] 0026. 删除有序数组中的重复项
26. 删除有序数组中的重复项点击上方,跳转至Leetcode题目描述给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么nums的前 k 个元素应...原创 2023-06-25 15:37:00 · 297 阅读 · 0 评论 -
[Leetcode] 0021. 合并两个有序链表
21. 合并两个有序链表点击上方,跳转至Leetcode题目描述将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]...原创 2023-06-25 15:22:00 · 107 阅读 · 0 评论 -
[Leetcode] 0020. 有效的括号
20. 有效的括号点击上方,跳转至leetcode题目描述给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]...原创 2023-06-21 15:15:00 · 894 阅读 · 0 评论 -
[Leetcode] 0014. 最长公共前缀
14. 最长公共前缀 img { margin: auto; display: block }点击上方,跳转至Leetcode题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","raceca...原创 2023-06-21 15:14:00 · 809 阅读 · 0 评论 -
[Leetcode] 0013. 罗马数字转整数
13. 罗马数字转整数点击上方,跳转至leetcode题目描述罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M ...原创 2023-06-21 15:08:00 · 869 阅读 · 0 评论 -
[Leetcode] 0009. 回文数
9. 回文数点击上方,跳转至Leetcode题目描述给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例2:输入:x = -121输出:false解释:从左向右读, 为 -1...原创 2023-06-21 15:07:00 · 661 阅读 · 0 评论 -
[Leetcode] 0733. 图像渲染
733. 图像渲染点击上方,跳转至leetcode题目描述有一幅以m x n的二维整数数组表示的图画image,其中image[i][j]表示该图画的像素值大小。你也被给予三个整数 sr , sc 和 newColor 。你应该从像素image[sr][sc]开始对图像进行 上色填充 。为了完成 上色工作 ,从初始像素开始,记录初始坐标的 上下左右四个方向上 像素值...原创 2023-06-21 15:04:00 · 735 阅读 · 0 评论 -
[Leetcode] 0728. 自除数
728. 自除数点击上方,跳转至leetcode题目描述自除数是指可以被它包含的每一位数整除的数。 例如,128 是一个 自除数 ,因为128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。自除数 不允许包含 0 。给定两个整数left和right ,返回一个列表,列表的元素是范围[left, right]内所有的 自除数 。示例 1:...原创 2023-06-21 15:02:00 · 770 阅读 · 0 评论 -
[Leetcode] 0724. 寻找数组的中心下标
724. 寻找数组的中心下标点击上方,跳转至leetcode题目描述给你一个整数数组nums ,请计算数组的 中心下标 。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回 最靠近左边 的那一个...原创 2023-06-21 15:00:00 · 830 阅读 · 0 评论 -
[Leetcode] 0717. 1 比特与 2 比特字符
717. 1 比特与 2 比特字符点击上方,跳转至leetcode题目描述有两种特殊字符: 第一种字符可以用一比特0 表示 第二种字符可以用两比特(10或11)表示给你一个以 0 结尾的二进制数组bits,如果最后一个字符必须是一个一比特字符,则返回 true 。示例1:输入: bits = [1, 0, 0]输出: true解释: 唯一的解码方式是将其解析...原创 2023-06-21 14:53:00 · 77 阅读 · 0 评论 -
[Leetcode] 0709. 转换成小写字母
709. 转换成小写字母点击上方跳转至Leetcode题目描述给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。示例 1:输入:s = "Hello"输出:"hello"示例 2:输入:s = "here"输出:"here"示例 3:输入:s = "LOVELY"输出:"lovely"提示: 1 <= s.length ...原创 2023-06-21 14:51:00 · 738 阅读 · 0 评论 -
[Leetcode] 0706. 设计哈希映射
706. 设计哈希映射点击跳转至leetcode题目描述不使用任何内建的哈希表库设计一个哈希映射(HashMap)。实现 MyHashMap 类: MyHashMap() 用空映射初始化对象 void put(int key, int value) 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经存在于映射中,则更新其对应的值 value 。 ...原创 2023-06-21 14:47:00 · 703 阅读 · 0 评论 -
[Leetcode] 0705. 设计哈希集合
705. 设计哈希集合English Version题目描述不使用任何内建的哈希表库设计一个哈希集合(HashSet)。实现 MyHashSet 类: void add(key) 向哈希集合中插入值 key 。 bool contains(key) 返回哈希集合中是否存在这个值 key 。 void remove(key) 将给定值 key 从哈希集合中删除。如果哈希集合中没有...原创 2023-05-05 17:54:00 · 569 阅读 · 0 评论 -
[Leetcode] 0703.数据流中的第K大元素
703. 数据流中的第 K 大元素点击上方标题跳转至leetcode题目描述设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。请实现 KthLargest类: KthLargest(int k, int[] nums) 使用整数 k 和整数流 nums 初始化对象。 int add(int val) 将 val 插入数...原创 2023-05-05 15:55:00 · 362 阅读 · 0 评论 -
[Leetcode] 0697.数组的度
697. 数组的度点击上方标题跳转至leetcode题目描述给定一个非空且只包含非负数的整数数组nums,数组的 度 的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与nums拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入:nums = [1,2,2,3,1]输出:2解释:输入数组的度是 2 ,因为元素 1 和 2 的出现频数最大,...原创 2023-05-05 12:20:00 · 677 阅读 · 0 评论 -
[Leetcode] 0696. 计数二进制子串
696. 计数二进制子串点击上方链接跳转至leetcode题目描述给定一个字符串s,统计并返回具有相同数量 0 和 1 的非空(连续)子字符串的数量,并且这些子字符串中的所有 0 和所有 1 都是成组连续的。重复出现(不同位置)的子串也要统计它们出现的次数。示例 1:输入:s = "00110011"输出:6解释:6 个子串满足具有相同数量的连续 1 和 0 :"0011...原创 2023-05-05 10:12:00 · 82 阅读 · 0 评论 -
[Leetcode] 0693. 交替位二进制数
693. 交替位二进制数点击上方标题跳转至leetcode题目描述给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。示例 1:输入:n = 5输出:true解释:5 的二进制表示是:101示例 2:输入:n = 7输出:false解释:7 的二进制表示是:111.示例 3:输入:n = 11输出:fal...原创 2023-05-05 10:09:00 · 68 阅读 · 0 评论 -
[Leetcode] 0682. 棒球比赛
682. 棒球比赛点击上方标题跳转至leetcode题目描述你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则: 整数 x - 表示本回合新获得分数 x "+" - 表示本回合新获得的...原创 2023-05-05 10:07:00 · 760 阅读 · 0 评论 -
[Leetcode] 0680. 验证回文串 II
680. 验证回文串 II点击上方标题跳转至leetcode题目描述给你一个字符串s,最多 可以从中删除一个字符。请你判断 s 是否能成为回文字符串:如果能,返回 true ;否则,返回 false 。示例 1:输入:s = "aba"输出:true示例 2:输入:s = "abca"输出:true解释:你可以删除字符 'c' 。示例 3:输入:s = "abc...原创 2023-05-05 10:01:00 · 45 阅读 · 0 评论 -
[Leetcode] 0674. 最长连续递增序列
674. 最长连续递增序列题目描述给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums...原创 2023-05-05 09:57:00 · 111 阅读 · 0 评论 -
[Leetcode] 0661. 图片平滑器
661. 图片平滑器题目描述图像平滑器 是大小为3 x 3 的过滤器,用于对图像的每个单元格平滑处理,平滑处理后单元格的值为该单元格的平均灰度。每个单元格的 平均灰度 定义为:该单元格自身及其周围的 8 个单元格的平均值,结果需向下取整。(即,需要计算蓝色平滑器中 9 个单元格的平均值)。如果一个单元格周围存在单元格缺失的情况,则计算平均灰度时不考虑缺失的单元格(即,需要计算红色平...原创 2023-05-05 09:52:00 · 38 阅读 · 0 评论 -
[Leetcode] 0657. 机器人能否返回原点
657. 机器人能否返回原点题目描述在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在(0, 0) 处结束。移动顺序由字符串moves表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有R(右),L(左),U(上)和 D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。注...原创 2023-05-04 17:36:00 · 50 阅读 · 0 评论 -
[Leetcode] 0001. 两数之和
1.两数之和题目描述给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 n...原创 2023-05-04 16:50:00 · 50 阅读 · 0 评论