博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode#递归#865. 具有所有最深结点的最小子树
阅读量:3954 次
发布时间:2019-05-24

本文共 1357 字,大约阅读时间需要 4 分钟。

  1. 具有所有最深结点的最小子树

给定一个根为 root 的二叉树,每个结点的深度是它到根的最短距离。

如果一个结点在整个树的任意结点之间具有最大的深度,则该结点是最深的。

一个结点的子树是该结点加上它的所有后代的集合。

返回能满足“以该结点为根的子树中包含所有最深的结点”这一条件的具有最大深度的结点。

示例:

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/smallest-subtree-with-all-the-deepest-nodes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode() {} *     TreeNode(int val) { this.val = val; } *     TreeNode(int val, TreeNode left, TreeNode right) { *         this.val = val; *         this.left = left; *         this.right = right; *     } * } */class Solution {
public TreeNode subtreeWithAllDeepest(TreeNode root) {
if(root == null) return null; //最深节点的父亲节点 // Tree tree = new Tree(root); int dl = Tree.depth(root.left); int dr = Tree.depth(root.right); if(dl==dr) return root; if(dl>dr) {
return subtreeWithAllDeepest(root.left); }else{
return subtreeWithAllDeepest(root.right); } } static class Tree {
// TreeNode root = null; // Tree(TreeNode root) {this.root = root;} static int depth(TreeNode root) {
if(root ==null) return 0; return Math.max(depth(root.left),depth(root.right))+1; } }}
你可能感兴趣的文章
大数据预测报告:2018年春节长假居民最喜欢去这些地方
查看>>
Python资源大全,让你相见恨晚的Python库!
查看>>
趣图:有时候我写的代码,就是这样子的
查看>>
大数据读心术丨这15条数据统计准爆了!
查看>>
Python资源大全,让你相见恨晚的Python库!
查看>>
500款各领域机器学习数据集,总有一个是你要找的
查看>>
收藏 | Linux常用156个命令汇总!
查看>>
十张图看懂未来大数据世界
查看>>
重磅!阿里开源AI核心技术,95%算法工程师受用
查看>>
"巧"仿蚂蚁森林水滴动效
查看>>
用算法撩妹都不会,别跟我说你是程序员
查看>>
“揭秘”大数据的10个神话!
查看>>
《中国区块链行业发展报告2018》全文发布!
查看>>
高盛发布区块链报告:从理论到实践(中文版)
查看>>
用Python从零开始创建区块链
查看>>
使用 Charles 抓取 app 数据包
查看>>
分析千万条数据后,终于找到了北上广深租金最低的地铁房
查看>>
dfrobot红外激光测距传感器的精度,测量距离和应用场景
查看>>
arduino扩展板引脚和连接图
查看>>
DFRduino Nano4.0介绍及原理图
查看>>