
LeetCode刷题笔记
文章平均质量分 71
本专栏用于记录自己在LeetCode刷题时所做的笔记
大家好我是Boger
吾于此生,竭尽所能
展开
-
单调栈类题目专题训练 -- LeetCode上5道与单调栈相关的题
这个专题中的题目是我跟随代码随想录的刷题计划,在LeetCode上做的与单调栈相关的题目,用于加深对单调栈的理解!下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码,希望对你有帮助!目录1 - LeetCode 739 每日温度2 - LeetCode 496 下一个更大元素 I3 - LeetCode 503 下一个更大元素 II4 - LeetCode 42 接雨水5 - LeetCode 84 柱状图中最大的矩形 1 -原创 2022-02-28 15:50:13 · 8110 阅读 · 0 评论 -
动态规划类题目专题训练 -- LeetCode上38道与动态规划相关的题
这个专题中的题目是我跟随代码随想录的刷题计划,在LeetCode上做的与动态规划相关的题目,用于加深对动态规划的理解!下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码,希望对你有帮助!目录1 - LeetCode 509 斐波那契数2 - LeetCode 70 爬楼梯3 - LeetCode 746 使用最小花费爬楼梯4 - LeetCode 62 不同路径5 - LeetCode 63 不同路径 II6 - LeetCode 343 整数拆分1 -原创 2022-02-27 13:50:35 · 881 阅读 · 2 评论 -
贪心类题目专题训练 -- LeetCode上10道与贪心相关的题
这个专题中的题目是我跟随代码随想录的刷题计划,在LeetCode上做的与贪心相关的题目,用于加深对贪心的理解!下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码,希望对你有帮助!目录1 - LeetCode 455 分发饼干1 - LeetCode 455 分发饼干来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/assign-cookies题意:假设你是一位很棒的家长,想要给你的孩子们一些小饼原创 2022-02-21 15:19:13 · 1064 阅读 · 0 评论 -
回溯类题目专题训练 -- LeetCode上12道与回溯相关的题
这个专题中的题目是我跟随代码随想录的刷题计划,在LeetCode上做的与回溯相关的题目,用于加深对回溯的理解!下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码,希望对你有帮助!目录1 - LeetCode 77 组合 -- 回溯法2 - LeetCode 216 组合总和 III -- 回溯法3 - LeetCode 17 电话号码的字母组合 -- 回溯法4 - LeetCode 39 组合总和 -- 回溯法5 - LeetCode 131 分割回文串 -原创 2022-02-21 09:00:12 · 398 阅读 · 0 评论 -
二叉搜索树类题目专题训练 -- LeetCode上10道与二叉搜索树相关的题
这个专题中的题目是我跟随代码随想录的刷题计划,在LeetCode上做的与二叉搜索树相关的题目,用于加深对二叉搜索树的理解!下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码,希望对你有帮助!目录1 - LeetCode 700 二叉搜索树中的搜索 -- 递归法和迭代法2 - LeetCode 98 验证二叉搜索树 -- 递归法和迭代法3 - LeetCode 530 二叉搜索树的最小绝对差 -- 递归法和迭代法4 - LeetCode 501 二叉搜索树中的原创 2022-02-21 08:59:59 · 828 阅读 · 0 评论 -
二叉树类题目专题训练 -- LeetCode上30道与二叉树相关的题
这个专题中的题目是我跟随代码随想录的刷题计划,在LeetCode上做的与二叉树相关的题目,用于加深对二叉树的理解!下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码,希望对你有帮助!目录1 - LeetCode 144 145 94 二叉树的三种遍历 -- 递归法2 - LeetCode 144 145 94 二叉树的三种遍历 -- 迭代法3 - LeetCode上10道关于二叉树层序遍历的题目 -- 熟练二叉树层序遍历4 - LeetCode 226 翻转原创 2022-02-21 08:59:43 · 188 阅读 · 0 评论 -
栈与队列类题目专题训练 -- LeetCode上7道与栈与队列相关的题
这个专题中的题目是我跟随代码随想录的刷题计划,在LeetCode上做的与栈与队列相关的题目,用于加深对栈与队列的理解!下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码,希望对你有帮助!目录1 - LeetCode 232 用栈实现队列2 - LeetCode 225 用队列实现栈3 - LeetCode 20 有效的括号 -- 栈的使用4 - LeetCode 1047 删除字符串中的所有相邻重复项 -- 栈的使用 / 双指针法5 - LeetCode 1原创 2022-02-21 08:59:26 · 196 阅读 · 0 评论 -
字符串类题目专题训练 -- LeetCode上7道与字符串相关的题
这个专题中的题目是我跟随代码随想录的刷题计划,在LeetCode上做的与字符串相关的题目,用于加深对字符串的理解!下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码,希望对你有帮助!目录1 - LeetCode 344 反转字符串 -- 双指针法2 - LeetCode 541 反转字符串 II -- 双指针法3 - 剑指 Offer 05 替换空格 -- 双指针法4 - LeetCode 151 翻转字符串里的单词 -- 双指针法5 - 剑指Offer 5原创 2022-02-21 08:59:06 · 383 阅读 · 0 评论 -
哈希表类题目专题训练 -- LeetCode上7道与哈希表相关的题
这个专题中的题目是我跟随代码随想录的刷题计划,在LeetCode上做的与哈希表相关的题目,用于加深对哈希表的理解!下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码,希望对你有帮助!目录1 - LeetCode 242 有效的字母异位词 -- 用数组做哈希表2 - LeetCode 1002 查找共用字符 -- 用数组做哈希表3 - LeetCode 349 两个数组的交集 --使用Java中的HashSet4 - LeetCode 202 快乐数 -- 使原创 2022-02-20 21:37:56 · 841 阅读 · 0 评论 -
链表类题目专题训练 -- LeetCode上6道与链表相关的题
这个专题中的题目是我跟随代码随想录的刷题计划,在LeetCode上做的与链表相关的题目,用于加深对链表的理解!下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码,希望对你有帮助!目录1 -LeetCode 203 移除链表元素 -- 虚拟头节点2 -LeetCode 707 设计链表 -- 实现链表的基本操作3 -LeetCode 206 反转链表 -- 递归法和双指针法4 -LeetCode 19 删除链表的倒数第N个节点 --...原创 2022-02-20 21:22:46 · 233 阅读 · 0 评论 -
数组类题目专题训练 -- LeetCode上7道与数组相关的题
这个专题中的题目是我跟随代码随想录的刷题计划,在LeetCode上做的与数组相关的题目,用于加深对数组的理解!下面的内容将会有每一道题目的题意、在代码随想录中对应的参考文章、我的思路以及我所写的Java代码,希望对你有帮助!目录1 - LeetCode 704 二分查找 -- 二分查找法2 - LeetCode 27 移除元素 -- 双指针法3 - LeetCode 977 有序数组的平方 -- 双指针法4 - LeetCode 209 长度最小的子数组 -- 滑动窗口法5 - LeetCode 59原创 2022-02-20 21:09:07 · 304 阅读 · 0 评论 -
LeetCode 47 全排列 II -- 回溯法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations-ii题意:给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。示例 1:输入:nums = [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]示例 2:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]提示:1 <原创 2022-02-20 20:41:38 · 7453 阅读 · 0 评论 -
LeetCode 46 全排列 -- 回溯法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations题意:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]原创 2022-02-20 17:20:57 · 342 阅读 · 0 评论 -
LeetCode 491 递增子序列 -- 回溯法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/increasing-subsequences题意:给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。示例 1:输入:nums = [4,6,7,7]输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],原创 2022-02-20 16:41:04 · 314 阅读 · 0 评论 -
LeetCode 90 子集 II -- 回溯法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subsets-ii题意:给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。示例 1:输入:nums = [1,2,2]输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]示例 2:输入:nums = [0]输出:[[],[0]]提示:1 <= nu原创 2022-02-20 15:30:31 · 191 阅读 · 0 评论 -
LeetCode 78子集 -- 回溯法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subsets题意:给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]提示:1 <= n原创 2022-02-20 15:07:25 · 376 阅读 · 0 评论 -
LeetCode 40 组合总和 II -- 回溯法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/combination-sum-ii题意:给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次 。注意:解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,输出原创 2022-02-18 14:41:11 · 5531 阅读 · 0 评论 -
LeetCode 39 组合总和 -- 回溯法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/combination-sum题意:给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,原创 2022-02-18 14:20:30 · 332 阅读 · 0 评论 -
LeetCode 216 组合总和 III -- 回溯法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/combination-sum-iii题意:找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]原创 2022-02-15 17:43:28 · 220 阅读 · 0 评论 -
LeetCode 77 组合 -- 回溯法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/combinations题意:给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。示例 1:输入:n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]示例 2:输入:n = 1, k = 1输出:[[1]]提示:1 <= n <= 201 &原创 2022-02-15 17:14:56 · 1458 阅读 · 0 评论 -
LeetCode 108 将有序数组转换为二叉搜索树 -- 递归法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree题意:给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。示例 1:输入:nums = [-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[原创 2022-02-15 02:23:23 · 211 阅读 · 0 评论 -
LeetCode 669 修剪二叉搜索树 -- 递归法和迭代法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/trim-a-binary-search-tree题意:给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。 可以证明,存在 唯一的答案 。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能原创 2022-02-14 19:44:47 · 307 阅读 · 0 评论 -
LeetCode 236 二叉树的最近公共祖先 -- 递归法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree题意:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”示例 1:输入:root = [3,5,1,6,2,0,8,nul原创 2022-02-12 15:25:37 · 293 阅读 · 0 评论 -
LeetCode 501 二叉搜索树中的众数 -- 递归法和迭代法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-mode-in-binary-search-tree题意:给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。如果树中有不止一个众数,可以按 任意顺序 返回。假定 BST 满足如下定义:结点左子树中所含节点的值 小于等于 当前节点的值结点右子树中所含节点的值 大于等于 当前节点的值左子树和右子树都是二叉搜索树原创 2022-02-11 18:32:20 · 444 阅读 · 0 评论 -
LeetCode 98 验证二叉搜索树 -- 递归法和迭代法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/validate-binary-search-tree题意:给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效 二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:root = [2,1,3]输出:true示例 2:输入:root = [5,1,4,原创 2022-02-10 20:31:51 · 576 阅读 · 0 评论 -
LeetCode 700 二叉搜索树中的搜索 -- 递归法和迭代法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/search-in-a-binary-search-tree题意:给定二叉搜索树(BST)的根节点 root 和一个整数值 val。你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。示例 1:输入:root = [4,2,7,1,3], val = 2输出:[2,1,3]Example 2:输入:root = [4,2原创 2022-02-10 17:48:51 · 500 阅读 · 0 评论 -
LeetCode 654 最大二叉树 -- 递归法构造二叉树
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-binary-tree题意:给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建:创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。返回 nums 构建的 最大二叉树 。示例 1:输入:nums = [3,2,1,6,0,5]原创 2022-02-09 21:23:09 · 449 阅读 · 0 评论 -
LeetCode 106 / 105 从中序与后序 / 前序与中序遍历序列构造二叉树
文章目录LeetCode 106 从中序与后序遍历序列构造二叉树LeetCode 105 从前序与中序遍历序列构造二叉树参考文章LeetCode 106 从中序与后序遍历序列构造二叉树来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal题意:给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树原创 2022-02-07 22:10:26 · 1634 阅读 · 0 评论 -
LeetCode 112和113 路径总和 路径总和II -- 递归法
文章目录LeetCode 112 路径总和LeetCode 113 路径总和II参考文章 LeetCode 112 路径总和来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/path-sum题意:给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶原创 2022-02-06 19:33:28 · 1824 阅读 · 0 评论 -
LeetCode 513 找树左下角的值
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-bottom-left-tree-value题意:给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。示例 1:输入: root = [2,1,3]输出: 1示例 2:输入: [1,2,3,4,null,5,6,null,null,7]输出: 7提示:二叉树的节点个数的范围是 [1,104]-231 <=原创 2022-02-03 18:26:47 · 514 阅读 · 0 评论 -
LeetCode 404 左叶子之和 -- 迭代法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-of-left-leaves题意:计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回原创 2022-02-03 18:09:02 · 1625 阅读 · 0 评论 -
LeetCode 257 二叉树的所有路径 -- 递归法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-paths题意:给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。示例 1:输入:root = [1,2,3,null,5]输出:[“1->2->5”,“1->3”]示例 2:输入:root = [1]输出:[“1”]提示:树中节点的数目在范围 [1, 100] 内-1原创 2022-02-03 00:33:23 · 521 阅读 · 0 评论 -
LeetCode 110 平衡二叉树 -- 递归法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/balanced-binary-tree题意:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。示例 1:输入:root = [3,9,20,null,null,15,7]输出:true示例 2:输入:root = [1,2,2,3,3,null,null,4,4]输出:false示例原创 2022-02-02 15:10:23 · 340 阅读 · 0 评论 -
LeetCode 222 完全二叉树的节点个数
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-complete-tree-nodes题意:给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例 1:输入:root = [1,2,3,4,5,6]输出:6示例原创 2022-02-02 03:44:29 · 355 阅读 · 0 评论 -
LeetCode 101 对称二叉树 -- 递归法和迭代法
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/symmetric-tree题意:给你一个二叉树的根节点 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-01-31 20:51:33 · 395 阅读 · 0 评论 -
LeetCode 226 翻转二叉树 -- 二叉树遍历
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-binary-tree题意:给你一棵二叉树的根节点 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 &l原创 2022-01-31 17:06:36 · 578 阅读 · 0 评论 -
LeetCode上10道关于二叉树层序遍历的题目 -- 熟练二叉树层序遍历
参考文章LeetCode 102 二叉树的层序遍历二叉树层序遍历的模板,使用队列来完成。由于需要将每一层的节点放在一起,所以我们每次遍历新的一层的时候,记录下当前队列的大小,因为当前队列的大小就代表当前层的节点数!要用一个变量来记录当前队列大小,而不能直接使用deque.size(),因为deque.size()是变化的!随着你在遍历这一层并不断将它们的左右儿子推入队列中,deque.size()是一直在变大的,并不能代表当前正在遍历的层的节点个数!class Solution { public L原创 2022-01-30 20:41:05 · 1583 阅读 · 1 评论 -
LeetCode 144 145 94 二叉树的三种遍历 -- 迭代法
参考文章1参考文章2思路:之前我们学习了使用递归法来进行二叉树的三种遍历,这次我们考虑使用迭代法来进行遍历,使用栈来实现。推荐将两篇参考文章都看一遍。在两篇参考文章中,第一篇讲了如何使用迭代法来遍历,但是三种遍历方式的实现并不是特别统一,没法像递归法一样仅修改中间元素的访问时机来非常简单地从一种遍历顺序改造为另一种遍历顺序,而是需要较大幅度修改代码。第二篇则讲了如何将这种迭代法改造为可以统一实现的方式。本篇文章中所附代码使用的是第二篇参考文章中提及的统一实现的方式。注意点:1、推入栈的顺序需要注原创 2022-01-30 01:36:38 · 212 阅读 · 0 评论 -
LeetCode 144 145 94 二叉树的三种遍历 -- 递归法
参考文章思路:使用递归法来进行二叉树的三种遍历。注意在LeetCode上写法是并没有直接使用LeetCode给的方法来递归,而是自己再写一个没有返回值的方法来递归,并通过传递列表来更新答案,这样写起来更方便一点。使用递归方法时,要注意确定递归方法的参数和返回值,以及要确定终止条件。中间节点的顺序就是所谓的遍历方式,可以看以下代码中递归方法的调用部分。前序遍历:中左右中序遍历:左中右后序遍历:左右中Java代码:《LeetCode 144 二叉树的前序遍历》class Solution {原创 2022-01-29 21:34:50 · 421 阅读 · 0 评论 -
LeetCode 347 前K个高频元素 -- 优先级队列
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/top-k-frequent-elements题意:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:1 <= nums.length <= 105原创 2022-01-29 03:59:50 · 416 阅读 · 0 评论