文章分类 - leetcode-Tree
摘要:题目这里写图片描述思路对树的问题采用递归的方式比较容易。从变换形式可以看到,该题实际就是将左右子树交换位置,题目没有告诉是完全二叉树,因此可能存在某个节点只有左子树或右子树中的一个,此时也要进行交换。代码/** * Definition for a binary tree node. * struc
阅读全文
摘要:翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9 1 2 3 4 5输出: 4 / \ 7 2 / \ / \9 6 3 1 1 2 3 4 5备注:这个问题是受到 Max Howell 的 原问题 启发的 :谷歌:我们90%的工程师使用您编写的软件(Homebrew)
阅读全文
摘要:112. 路径总和 import java.util.Objects; class Solution { private boolean solve(TreeNode root, int sum) { if (Objects.isNull(root)) { return false; } if (O
阅读全文
摘要:题目描述 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1 返回 true
阅读全文
摘要:112. 路径总和 前序遍历累加路径和即可,注意两点: 要在叶子节点判断是否等于目标和,非叶子节点达到了不行 可能出现空树,这时即使sum为0也为false(都不存在路径谈何路径和) class Solution { public boolean hasPathSum(TreeNode root,
阅读全文
摘要:[LeetCode]112_路径总和题目要求 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 /
阅读全文
摘要:题目描述: 路径总和 给定一棵二叉树和一个总和,确定该树中是否存在根到叶的路径,这条路径的所有值相加等于给定的总和。例如:给定下面的二叉树和 总和 = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回 true, 因为存在总和为 22 的根到叶的路径 5->4->1
阅读全文
摘要:题目描述: 给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2. 思路:采用后序遍历,当前结点的深
阅读全文
摘要:最小深度定义为根节点到最近叶子节点的深度分析:空树,最小深度为0左右子树都为空,最小深度为1左右子树不都为空,左右子树中有空树的情况,最小深度一定是在非空树中产生,因为最小深度定义为到最近叶子节点的深度。一旦左右子树有空的情况,这边的深度就可以置为正无穷,表示最小深度不可能再这里产生。然后分别计算左
阅读全文
摘要:给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 1 2 3 4 5返回它的最小深度 2.解题思路这个问题和Leet
阅读全文
摘要:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 1 2 3 4 5返回 true 。示例 2:给
阅读全文
摘要:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7]3 1/ \9 20/ \15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,
阅读全文
摘要:题意: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。示例 2: 给定二叉树 [1,2,2,3,3,null,
阅读全文
摘要:是否递归实现:在于判断条件后更改阀值继续循环至符合条件,还是对相应的子集重新本函数。 递归方法 int BinSearch(int Array[],int low,int high,int key/*要找的值*/) { if (low<=high) { int mid = (low+high)/2;
阅读全文
摘要:使用递归实现二分查找 public class Test { public static void main(String[] args) { //数组 int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; //要查找的元素 int key = 1; //第一个元素的
阅读全文
摘要:昨天面试的时候被问了好多问题,今天再做,有些部分竟然连起来了:二分查找、递归、局部变量静态变量(静态局部变量),可能还有更多,待我慢慢总结。。 OK进入正题。 一、 首先 写个二分查找的函数。因为之前只是了解过这个算法,实际自己写还没写过,想了想,如果不用递归,一时没啥思路,那就用递归吧 1 //
阅读全文
摘要:题目:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索
阅读全文
摘要:https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree/description/思路:递归,根据有序的特性,每次取数组中点mid为根,递归构造左右子树# Definition for a binary t
阅读全文
摘要:版权声明:本文为博主原创文章,未经博主允许不得转载 ! https://blog.csdn.net/seniusen/article/details/842602401. 题目2. 解答一棵高度平衡的二叉搜索树意味着根节点的左右子树包含相同数量的节点,也就是根节点为有序数组的中值。因此,我们将数组的
阅读全文
摘要:题目:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜
阅读全文

浙公网安备 33010602011771号