描述
给定一个二叉树,找出其最小深度。
二叉树的最小深度为根节点到最近叶子节点的距离。
样例
给出一棵如下的二叉树:
1
/ \
2 3
/ \
4 5
这个二叉树的最小深度为 2
代码
/**
* Definition of TreeNode:
* public class TreeNode {
* public int val;
* public TreeNode left, right;
* public TreeNode(int val) {
* this.val = val;
* this.left = this.right = null;
* }
* }
*/
public class Solution {
/*
* @param root: The root of binary tree
* @return: An integer
*/
public int minDepth(TreeNode root) {
// write your code here
if(root==null){
return 0;
}
if(root.left==null){
return 1+minDepth(root.right);
}
if(root.right==null){
return 1+minDepth(root.left);
}
return Math.min(minDepth(root.left),minDepth(root.right))+1;
}
}
本文介绍了一种求解二叉树最小深度的有效算法。通过递归方式遍历左右子树,找到从根节点到最近叶子节点的最短路径。
218

被折叠的 条评论
为什么被折叠?



