Minimum Depth of Binary Tree Java

原创 2015年07月08日 11:43:10

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.

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public int minDepth(TreeNode root) {
        if(root==null){
            return 0;
        }
        
        if (root.left == null && root.right == null) {
            return 1;
        }
        int minLeft=minDepth(root.left);
        int minRight=minDepth(root.right);
        if(minLeft == 0) {minLeft = Integer.MAX_VALUE; }
        if(minRight == 0){minRight = Integer.MAX_VALUE;}  
        return Math.min(minLeft,minRight)+1;
    }
}


【LeetCode-面试算法经典-Java实现】【111-Minimum Depth of Binary Tree(二叉树的最小深度)】

【111-Minimum Depth of Binary Tree(二叉树的最小深度)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a binary tre...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月11日 07:37
  • 2695

AVL Trees 学习笔记

AVL Trees 是一种特殊的二叉搜索树,它的作用是通过自我调整,让整棵树保持平衡,从而降低整棵树的高度,以提高查找效率。 本文将首先介绍AVL Trees,然后介绍它的实现方法,性能评估,最...
  • Woolseyyy
  • Woolseyyy
  • 2016年05月26日 12:19
  • 764

最小生成树(Minimum Spanning Tree)(Prim算法)

1. 什么是最小生成树(Minimum Spanning Tree) 2. 贪心算法: 1) 什么是“贪”:每一步都要最好的 2) 什么是“好”:权重最小的边 3) 需要约束:      a) 只...
  • u013354805
  • u013354805
  • 2016年04月05日 11:21
  • 470

数据结构(Java语言)——BinarySearchTree简单实现

二叉树的一个重要应用是它们在查找中的使用。使二叉树成为二叉查找树的性质是,对于树中的每个节点X,它的左子树中所有项的值都大于X中的项。注意,这意味着该树所有的元素都可以用某种一致的方式排序。 现在给出...
  • zhang_zp2014
  • zhang_zp2014
  • 2015年08月14日 21:55
  • 926

让我们来谈谈最小生成树(Minimum Spanning Tree)算法

现实生活中我们往往会遇到类似于旅游路线规划,使用怎么样的一条旅游路线能够让我们花费最少的旅费获得一样的感受。这时如果你学过算法的话,恭喜你可以在女票面前大显生手了。这其实是一个最小生成树问题,可以利用...
  • shaya118
  • shaya118
  • 2014年12月24日 21:34
  • 2182

二叉排序树(Binary Sort Tree)查找、插入、删除 Java实现

顺序存储的插入和删除可以通过在表末端插入和删除元素同最后一个元素互换来保持高效率,但是无序造成查找的效率很低。 如果查找的数据表是有序线性表,并且是顺序存储的,查找可以折半、插值、斐波那契等查找算法...
  • CmdSmith
  • CmdSmith
  • 2017年03月30日 15:19
  • 490

Binary Tree Traversal二叉树遍历方法总结

Binary Tree Traversal二叉树遍历方法总结这里总结的二叉树遍历分为两大类: 深度优先(depth-first traversal) 广度优先(breadth-first traver...
  • jackey_jk
  • jackey_jk
  • 2016年04月01日 02:58
  • 760

二叉搜索树(Binary Search Tree )的定义及分析

定义:     二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 每个结点都有一个作为搜索依据的关键码(key),所有结点的关键码互不相同。 左子树(如果非空)上所...
  • jsh13417
  • jsh13417
  • 2013年01月22日 21:59
  • 3331

二叉搜索树(Binary Search Tree)的插入与删除

二叉搜索树的插入关键是要找到元素应该插入的位置,可以采用与Find类似的方法。 二叉搜索树的删除则要考虑三种情况:   1.要删除的是叶节点:直接删除,并再修改其父节点指针置为NULL ...
  • song_hui_xiang
  • song_hui_xiang
  • 2015年08月16日 13:10
  • 978

算法导论C语言实现: 二叉搜索树(binary tree)

1. 源代码 ia_binarytree.h #ifndef __IA_BINARY_TREE_H__ #define __IA_BINARY_TREE_H__ #include typede...
  • v2nero
  • v2nero
  • 2014年01月05日 22:38
  • 1185
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Minimum Depth of Binary Tree Java
举报原因:
原因补充:

(最多只允许输入30个字)