合集-LeetCode
摘要:拿到这道题,我们想一下,我们将整个字符串都反转过来,那么单词的顺序指定是倒序了,只不过单词本身也倒序了,那么再把单词反转一下,单词不就正过来了。 所以解题思路如下: 移除多余空格 将整个字符串反转 将每个单词反转 举个例子,源字符串为:"the sky is blue " 移除多余空格 : "the
阅读全文
摘要:力扣题目链接:https://leetcode.cn/problems/find-largest-value-in-each-tree-row/description/ 题目叙述: 您需要在二叉树的每一行中找到最大的值。 思路 这题依旧是采用层序遍历的模板,只不过我们不需要设置current数组,并
阅读全文
摘要:力扣链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/ 题目叙述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9
阅读全文
摘要:力扣题目链接:https://leetcode.cn/problems/minimum-depth-of-binary-tree/ 题目叙述: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 输入:root = [3,
阅读全文
摘要:力扣链接:https://leetcode.cn/problems/single-number/description/ 题目叙述 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题
阅读全文
摘要:力扣题目链接:https://leetcode.cn/problems/single-number-iii/description/ 题目叙述: 给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 你必须设计
阅读全文
摘要:拿到这道题,我们想一下,我们将整个字符串都反转过来,那么单词的顺序指定是倒序了,只不过单词本身也倒序了,那么再把单词反转一下,单词不就正过来了。 所以解题思路如下: 移除多余空格 将整个字符串反转 将每个单词反转 举个例子,源字符串为:"the sky is blue " 移除多余空格 : "the
阅读全文
摘要:LeetCode题目链接:https://leetcode.cn/problems/implement-stack-using-queues/description/ 题目叙述: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty
阅读全文
摘要:LeetCode题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal/submissions/548489149/ 题目叙述: 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)
阅读全文
摘要:力扣题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal/ 题目叙述: 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 步骤: 其实,这道题和二叉树的层序遍
阅读全文
摘要:LeetCode题目链接:https://leetcode.cn/problems/binary-tree-right-side-view/description/ 题目叙述: 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1:
阅读全文
摘要:LeetCode题目链接:https://leetcode.cn/problems/average-of-levels-in-binary-tree/description/ 题目叙述: 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 思路 这题我们依然是采用层序遍历,其实和二叉树的层序
阅读全文
摘要:LeetCode题目链接:https://leetcode.cn/problems/invert-binary-tree/ 题目叙述: 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例
阅读全文
摘要:LeetCode题目链接:https://leetcode.cn/problems/assign-cookies/description/ 题目叙述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃
阅读全文
摘要:题目链接:https://leetcode.cn/problems/lemonade-change/description/ 题目叙述: 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元
阅读全文
摘要:题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/ 题目叙述: 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/
阅读全文
摘要:题目链接:https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/description/ 题目叙述: 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换
阅读全文
摘要:题目链接:https://leetcode.cn/problems/maximum-subarray/description/ 题目叙述: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 示例 1: 输入:n
阅读全文
摘要:题目链接:https://leetcode.cn/problems/find-bottom-left-tree-value/description/ 题目叙述: 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: roo
阅读全文
摘要:题目链接 题目叙述: n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。 示例 1: 输入
阅读全文
摘要:题目链接:https://leetcode.cn/problems/count-complete-tree-nodes/description/ 题目叙述 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节
阅读全文
摘要:题目链接:https://leetcode.cn/problems/search-in-a-binary-search-tree/description/ 题目叙述: 给定二叉搜索树(BST)的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节
阅读全文
摘要:题目链接:https://leetcode.cn/problems/validate-binary-search-tree/description/ 题目叙述: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。
阅读全文
摘要:题目链接:https://leetcode.cn/problems/minimum-absolute-difference-in-bst/description/ 题目叙述: 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝
阅读全文
摘要:题目链接:https://leetcode.cn/problems/maximum-binary-tree/description/ 题目叙述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大
阅读全文
摘要:题目链接:https://leetcode.cn/problems/merge-two-binary-trees/description/ 题目叙述: 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这
阅读全文
摘要:回溯算法的理解: 回溯算法可以理解为一颗树形结构,即一颗n叉树,当遍历到叶子节点的时候,我们就到达了递归的终点,此时我们应该往上走。 回溯法解决的问题都可以抽象为树形结构,是的,我指的是所有回溯法的问题都可以抽象为树形结构!因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的
阅读全文
摘要:4.组合总和lll(LeetCode216) 题目叙述: 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 1: 输入: k = 3, n = 7 输
阅读全文
摘要:LeetCode39. 组合总和 题目叙述: 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数
阅读全文
摘要:LeetCode40.组合总和II 力扣题目链接(opens new window) 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有
阅读全文
摘要:动态规划 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的, 我在这里举一个典型的动态规划的问题——背包问题:
阅读全文
摘要:编辑距离 本题与力扣72.编辑距离题意一样,阅读完本文可以尝试leetcode72. 力扣题目链接 题目叙述 输入两个字符串a,b。输出从字符串a修改到字符串b时的编辑距离 输入 NOTV LOVER 输出 4 题目解释: 动态规划思路 这个问题显然是一个最优解问题,我们可以考虑动态规划的思路,那么
阅读全文
摘要:大盗阿福 本题与leetcode198题——打家劫舍的题意一模一样,阅读完本文以后可以尝试以下题目 力扣题目链接) 题目叙述: 阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有N家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,
阅读全文
摘要:LeetCode300.最长递增子序列 力扣题目链接(opens new window) 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7
阅读全文
摘要:LeetCode674. 最长连续递增序列 阅读本文之前,需要先了解“动态规划方法论”,这在我的文章以前有讲过 链接:动态规划方法论 本文之前也讲过一篇文章:最长递增子序列,这道题,阅读本文的同时可以与“最长递增子序列进行对比”,这样更能对比二者的区别! LeetCode300.最长递增子序列 -
阅读全文
摘要:LeetCode516 .最长回文子序列 题目叙述: 力扣题目链接(opens new window) 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 示例 1: 输入:s = "bbba
阅读全文
摘要:买卖股票 本文所讲解的内容与LeetCode122. 买卖股票的最佳时机ll,这道题题意相同,阅读完本文后可以自行挑战一下 力扣链接 题目叙述: 给定一个长度为N的数组,数组中的第i个数字表示一个给定股票在第i天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖
阅读全文
浙公网安备 33010602011771号