
力扣-算法(简单)合集
力扣算法,简单模式,使用java完成
Crazy丶code
进步、学习、阳光、平和
展开
-
【力扣-数据结构基础】【第 2 天】706. 设计哈希映射
706. 设计哈希映射数据结构基础 第二天 数组原创 2022-03-20 15:28:15 · 363 阅读 · 0 评论 -
【力扣-数据结构基础】【第 1天】169. 多数元素
力扣-数据结构基础 第一天 第2/3题169. 多数元素原创 2022-03-03 18:11:41 · 267 阅读 · 0 评论 -
【力扣-数据结构基础】【第 1天】136. 只出现一次的数字
力扣-数据结构基础标题136. 只出现一次的数字难度简单天数第1天,第1/3题原创 2022-03-02 15:06:43 · 470 阅读 · 0 评论 -
【力扣-数据结构】【第 14 天】235. 二叉搜索树的最近公共祖先
标题235. 二叉搜索树的最近公共祖先难度简单天数第14天,第3/3题数据结构树给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,...原创 2022-03-01 15:00:00 · 137 阅读 · 0 评论 -
【力扣-数据结构】【第 14 天】653. 两数之和 IV - 输入 BST
标题653. 两数之和 IV - 输入 BST难度简单天数第14天,第2/3题数据结构树给定一个二叉搜索树 root 和一个目标结果 k,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。示例 1:输入: root = [5,3,6,2,4,null,7], k = 9输出: true示例 2:输入: root = [5,3,6,2,4,null,7], k = 28输出: false 提...原创 2022-02-28 15:00:00 · 169 阅读 · 0 评论 -
【力扣-数据结构】【第 13 天】700. 二叉搜索树中的搜索
标题700. 二叉搜索树中的搜索难度简单天数第13天,第1/2题数据结构树给定二叉搜索树(BST)的根节点 root 和一个整数值 val。你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。示例 1:输入:root = [4,2,7,1,3], val = 2输出:[2,1,3]Example 2:...原创 2022-02-25 02:30:00 · 390 阅读 · 0 评论 -
【力扣-数据结构】【第 12 天】112. 路径总和
标题112. 路径总和难度简单天数第12天,第2/2题数据结构树给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶子节点 是指没有子节点的节点。 示例 1:输入:root = [5,4,8,11,...原创 2022-02-24 14:30:00 · 340 阅读 · 0 评论 -
【力扣-数据结构】【第 12 天】226. 翻转二叉树
标题226. 翻转二叉树难度简单天数第12天,第1/2题数据结构树给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例 2:输入:root = [2,1,3]输出:[2,3,1]示例 3:输入:root = []输出:[]提示: 树中节点数目范围在 [0, 100] 内 -100 <= No...原创 2022-02-23 15:20:22 · 152 阅读 · 0 评论 -
【力扣-数据结构】【第 11 天】101. 对称二叉树
标题101. 对称二叉树难度简单天数第11天,第3/3题数据结构树给你一个二叉树的根节点 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进阶:你...原创 2022-02-22 14:02:58 · 447 阅读 · 0 评论 -
【力扣-数据结构】【第 11 天】104. 二叉树的最大深度
标题104. 二叉树的最大深度难度简单天数第11天,第2/3题数据结构树给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。以上内容来源:力扣(LeetCode)...原创 2022-02-21 13:51:16 · 131 阅读 · 0 评论 -
【力扣-数据结构】【第 10 天】145. 二叉树的后序遍历
标题145. 二叉树的后序遍历原创 2022-02-19 23:14:27 · 154 阅读 · 0 评论 -
【力扣-数据结构】【第 10 天】94. 二叉树的中序遍历
标题94. 二叉树的中序遍历难度简单天数第10天,第2/3题数据结构树给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[2,1]示例 5:输入:root = [1...原创 2022-02-18 14:16:03 · 943 阅读 · 0 评论 -
【力扣-数据结构】【第 10 天】144. 二叉树的前序遍历
标题144. 二叉树的前序遍历难度简单天数第10天,第1/3题数据结构树给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[1,2]示例 5:输入:root = [1...原创 2022-02-17 14:19:58 · 691 阅读 · 0 评论 -
【力扣-数据结构】【第 9 天】232. 用栈实现队列
标题232. 用栈实现队列难度简单天数第9天,第2/2题数据结构栈 / 队列请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 ...原创 2022-02-16 14:25:51 · 209 阅读 · 0 评论 -
【力扣-数据结构】【第 8 天】83. 删除排序链表中的重复元素
标题83. 删除排序链表中的重复元素难度简单天数第8天,第2/2题数据结构链表给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。示例 1:输入:head = [1,1,2]输出:[1,2]示例 2:输入:head = [1,1,2,3,3]输出:[1,2,3]提示: 链表中节点数目在范围 [0, 300] 内 -10...原创 2022-02-15 11:28:13 · 557 阅读 · 0 评论 -
【力扣-数据结构】【第 8 天】206. 反转链表
标题206. 反转链表难度简单天数第8天,第1/2题数据结构链表给你单链表的头节点 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 <=...原创 2022-02-14 18:58:09 · 104 阅读 · 0 评论 -
【力扣-数据结构】【第 7 天】203. 移除链表元素
标题203. 移除链表元素难度简单天数第7天,第3/3题数据结构链表给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1输出:[]示例 3:输入:head = [7,7,7,7], ...原创 2022-02-13 15:00:00 · 253 阅读 · 0 评论 -
【力扣-数据结构】【第 7 天】21. 合并两个有序链表
标题21. 合并两个有序链表难度简单天数第7天,第2/3题数据结构链表将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0] 提示:...原创 2022-02-13 14:00:00 · 156 阅读 · 0 评论 -
【力扣-数据结构】【第 7 天】141. 环形链表
标题141. 环形链表难度简单天数第7天,第1/3题数据结构链表给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 ...原创 2022-02-12 16:48:18 · 93 阅读 · 0 评论 -
【力扣-数据结构】【第 6 天】242. 有效的字母异位词
标题242. 有效的字母异位词难度简单天数第6天,第3/3题数据结构字符串给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car...原创 2022-02-12 16:40:39 · 402 阅读 · 0 评论 -
【力扣-数据结构】【第 6 天】383. 赎金信
标题383. 赎金信难度简单天数第6天,第2/3题数据结构字符串给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。示例 1:输入:ransomNote = “a”, magazine = “b”输出:false示例 2:...原创 2022-02-12 16:31:08 · 519 阅读 · 0 评论 -
【力扣-数据结构】【第 6 天】387. 字符串中的第一个唯一字符
标题387. 字符串中的第一个唯一字符难度简单天数第6天,第1/3题数据结构字符串给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。示例 1:输入: s = “leetcode”输出: 0示例 2:输入: s = “loveleetcode”输出: 2示例 3:输入: s = “aabb”输出: -1提示: 1 <= s.length...原创 2022-02-11 16:58:30 · 319 阅读 · 0 评论 -
【力扣-数据结构】【第 4 天】566. 重塑矩阵
标题566. 重塑矩阵难度简单天数第4天,第1/2题数据结构数组在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。给你一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。如果具有给定参数...原创 2022-02-09 15:04:29 · 147 阅读 · 0 评论 -
【力扣-数据结构】【第 3 天】121. 买卖股票的最(佳)时机
标题121. 买卖股票的最佳时机难度简单天数第3天,第2/2题数据结构数组给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输...原创 2022-02-09 10:23:48 · 123 阅读 · 0 评论 -
【力扣-数据结构】【第 3 天】350. 两个数组的交集 II
标题350. 两个数组的交集 II难度简单天数第3天,第1/2题数据结构数组给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5]...原创 2022-02-08 18:11:39 · 404 阅读 · 0 评论 -
【力扣-数据结构入门】【第 1 天】53. 最大子数组和
力扣-数据结构入门标题53. 最大子数组和难度简单天数第1天,第2/2题原创 2022-02-07 14:17:12 · 158 阅读 · 0 评论 -
【力扣-数据结构入门】【第 2 天】88. 合并两个有序数组
力扣-数据结构入门标题:88. 合并两个有序数组、难度:简单原创 2022-01-29 19:19:39 · 156 阅读 · 0 评论 -
【力扣-数据结构入门】【第 1 天】217. 存在重复元素
力扣 - 数据结构入门标题:217. 存在重复元素难度:简单天数:第1天,第1/2题原创 2022-01-28 16:24:02 · 563 阅读 · 0 评论 -
【力扣-动态规划入门】【第 19 天】392. 判断子序列
标题:392. 判断子序列难度:简单天数:第19天,第1/3题给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。进阶:如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?致谢:特别感谢 @pb原创 2022-01-22 20:28:43 · 171 阅读 · 0 评论 -
【力扣-动态规划入门】【第 12 天】119. 杨辉三角 II
标题:119. 杨辉三角 II难度:简单天数:第12天,第2/2题给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: rowIndex = 3输出: [1,3,3,1]示例 2:输入: rowIndex = 0输出: [1]示例 3:输入: rowIndex = 1输出: [1,1]提示: 0 <= rowIndex <= 33进原创 2022-01-14 20:16:47 · 279 阅读 · 0 评论 -
【力扣-动态规划入门】【第 12 天】118. 杨辉三角
标题:118. 杨辉三角难度:简单天数:第12天,第1/2题给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2:输入: numRows = 1输出: [[1]]提示: 1 <= numRows <=原创 2022-01-14 19:28:46 · 212 阅读 · 0 评论 -
【力扣-动态规划入门】【第 7 天】121. 买卖股票的最(佳)时机
标题:121. 买卖股票的最佳时机难度:简单天数:第7天,第2/3题给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候原创 2022-01-09 10:00:00 · 84 阅读 · 0 评论 -
【力扣-动态规划入门】【第 2 天】746. 使用最小花费爬楼梯
标题:746. 使用最小花费爬楼梯难度:简单天数:第二天,第2/2题给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。示例 1:输入:cost = [10,15,20]输出:15解释:你将从下标为 1 的台阶开始。支付 15 ,向上爬两个台阶,到达楼梯顶部。总花费为 15 。示原创 2022-01-05 09:48:56 · 224 阅读 · 0 评论 -
【力扣-动态规划入门】【第 2 天】70. 爬楼梯
标题:70. 爬楼梯难度:简单天数:第二天,第1/2题假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶来源:力扣(Leet原创 2022-01-05 09:41:51 · 202 阅读 · 0 评论 -
【力扣-动态规划入门】【第 1 天】1137. 第 N 个泰波那契数
标题:509. 斐波那契数难度:简单天数:第一天,第2/2题泰波那契序列 Tn 定义如下: T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2给你整数 n,请返回第 n 个泰波那契数 Tn 的值。示例 1:输入:n = 4输出:4解释:T_3 = 0 + 1 + 1 = 2T_4 = 1 + 1 + 2 = 4示例 2:输入:原创 2022-01-04 14:25:08 · 3848 阅读 · 0 评论 -
【力扣-动态规划入门】【第 1 天】509. 斐波那契数
标题:509. 斐波那契数难度:简单天数:第一天,第1/2题斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n) 。示例 1:输入:2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 = 1示例原创 2022-01-04 14:20:52 · 258 阅读 · 0 评论 -
【力扣】难度【简单】69. Sqrt(x)
标题:69. Sqrt(x)难度:简单描述:给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。提示: 0 <= x原创 2021-12-30 13:42:47 · 334 阅读 · 0 评论 -
【力扣】难度【简单】67. 二进制求和
标题:67. 二进制求和难度:简单描述:给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”提示: 每个字符串仅由字符 '0' 或 '1' 组成。 1 <= a.length, b.length <= 10原创 2021-12-30 11:46:42 · 343 阅读 · 0 评论 -
【力扣】难度【简单】66. 加一
标题:66. 加一难度:简单描述:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:原创 2021-12-29 15:42:50 · 245 阅读 · 0 评论 -
【力扣】难度【简单】58. 最后一个单词的长度
标题:58. 最后一个单词的长度难度:简单描述:给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = “Hello World”输出:5示例 2:输入:s = " fly me to the moon "输出:4示例 3:输入:s = “luffy is still joyboy”输出:6提示: 1 <= s.le原创 2021-12-29 15:28:31 · 294 阅读 · 0 评论