博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode — minimum-depth-of-binary-tree
阅读量:6294 次
发布时间:2019-06-22

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

/** * Source : https://oj.leetcode.com/problems/minimum-depth-of-binary-tree/ * * * Given a binary tree, find its minimum depth. * * The minimum depth is the number of nodes along the shortest path from the root node * down to the nearest leaf node. */public class MinimumDepth {    /**     * 求出一棵二叉树的最小高度     *     * @param root     * @return     */    public int minDepth (TreeNode root) {        if (root == null) {            return 0;        }        int left = minDepth(root.leftChild);        int right = minDepth(root.rightChild);        if (left > right) {            return right + 1;        } else {            return left + 1;        }    }    public TreeNode createTree (char[] treeArr) {        TreeNode[] tree = new TreeNode[treeArr.length];        for (int i = 0; i < treeArr.length; i++) {            if (treeArr[i] == '#') {                tree[i] = null;                continue;            }            tree[i] = new TreeNode(treeArr[i]-'0');        }        int pos = 0;        for (int i = 0; i < treeArr.length && pos < treeArr.length-1; i++) {            if (tree[i] != null) {                tree[i].leftChild = tree[++pos];                if (pos < treeArr.length-1) {                    tree[i].rightChild = tree[++pos];                }            }        }        return tree[0];    }    private class TreeNode {        TreeNode leftChild;        TreeNode rightChild;        int value;        public TreeNode(int value) {            this.value = value;        }        public TreeNode() {        }    }    public static void main(String[] args) {        MinimumDepth minimumDepth = new MinimumDepth();        char[] arr0 = new char[]{'#'};        char[] arr1 = new char[]{'3','9','2','#','#','1','7'};        char[] arr2 = new char[]{'3','9','2','1','6','1','7','5'};        System.out.println(minimumDepth.minDepth(minimumDepth.createTree(arr0)));        System.out.println(minimumDepth.minDepth(minimumDepth.createTree(arr1)));        System.out.println(minimumDepth.minDepth(minimumDepth.createTree(arr2)));    }}

转载于:https://www.cnblogs.com/sunshine-2015/p/7812820.html

你可能感兴趣的文章
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.6 UDP回射客户程序:dg_cli函数...
查看>>