111.Minimum Depth of Binary Tree

找出树的最小层数。

注意点:

1.判断树是否为空。

2.如果当前层数大于等于已找出的最小层数,则停止向下搜索。

3.提前判断子节点是否为空,减少递归次数。

代码:

intminLevel=999;

voidtrval(TreeNode* t,intlevel)

{

    if(level>=minLevel)

        return;

    if(t->left==NULL&& t->right==NULL)

    {

        minLevel=level

    }

    if(t->left!=NULL)

        trval(t->left, level+1);

    if(t->right!=NULL)

        trval(t->right, level+1);

}

intminDepth(TreeNode* root) {

    if(root==NULL)

        return0;

    trval(root,1);

    return minLevel;

}

你可能感兴趣的:(111.Minimum Depth of Binary Tree)