129求根到叶子节点数字之和
题目链接题目描述:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。
例如,从根到叶子节点路径 1->2->3 代表数字 123。
计算从根到叶子节点生成的所有数字之和。
说明: 叶子节点是指没有子节点的节点。
实例:
解题思路 & ...
105从前序与中序遍历序列构造二叉树
题目链接题目描述:根据一棵树的前序遍历与中序遍历构造二叉树。
太经典了,不需要例子了~
解题思路 还是给一个例子吧!
前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]
如果这是一道 ...
106从中序与后序遍历序列构造二叉树
题目链接题目描述:根据一棵树的中序遍历与后序遍历构造二叉树。
声明 本题与#105几乎一致(题解在此~),可以学会105然后自己敲一遍106以巩固提升。 与105两点区别:
根结点遍历要从后序遍历数组最后一位开始,这是由后序遍历的顺序而定的。
根右左建树 ...
239滑动窗口最大值
题目链接题目描述:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回滑动窗口中的最大值。
实例:
解题思路 本题的关键在于如何从滑动窗口中动态获取每一个最大值。这里我们 ...
347前K个高频元素
题目链接题目描述:给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例:
输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]
小根堆
遍历数组,哈希表录入频率
遍历哈希表,维护一个出现频率前k多的小根堆
优先队列已满,需要判断当前元素的频率是否大于优先队列 ...
279完全平方数(优化思路)
题目链接题目描述:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。
实例:
输入: n = 12输出: 3解释: 12 = 4 + 4 + 4.
解题思路 可以将整个问题转化为图论问题 ...
994腐烂的橘子
题目链接题目描述:在给定的网格中,每个单元格可以有以下三个值之一:
值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。
返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。
实例:
...
199二叉树的右视图
题目链接题目描述:给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
示例:
输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释:
解题思路执行用时,内存消耗相差无几
BFS用队列实现。根据队列先进先出的特点,每一层最后一个 ...
103二叉树的锯齿形层次遍历
题目链接题目描述:给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。
实例:例如:给定二叉树 [3,9,20,null,null,15,7]
返回锯齿形层次遍历如下:
[ [3], [20,9], [15,7]]
解题思 ...
104二叉树的最大深度and559N叉树的最大深度
二叉树的最大深度
题目描述:给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。
N叉树的最大深度
题目描述:给定一个 N ...