Minimum Depth of Binary Tree

来源:互联网 发布:广州金针软件下载 编辑:程序博客网 时间:2024/05/30 05:07

每日一题;

今天做的还是二叉树,求二叉树最小深度,貌似没有什么难度,需要注意的就两点:

1、递归的出口条件,开始以为是叶子节点,结果报错,因为如果只有一个节点这样容易返回0;所以出口要考虑一个节点的情况;

2、递归的过程。

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 binary tree * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public int minDepth(TreeNode root) {        TreeNode treeNode = root;        if(treeNode == null){            return 0;        }        if(treeNode.left==null && treeNode.right == null){            return 1;        }        if(treeNode.right == null){            return minDepth(treeNode.left)+1;        }        if(treeNode.left == null){            return  minDepth(treeNode.right)+1;        }        int left = minDepth(treeNode.left);        int right = minDepth(treeNode.right);        return left<right?left+1:right+1;    }}


0 0
原创粉丝点击