二叉树的最小深度

来源:互联网 发布:李炎恢php第一季讲义 编辑:程序博客网 时间:2024/04/30 16:00

题目:最小深度指的是根节点到叶节点的最短距离

算法:
1、根为空 return 0
2、左右都不为空,那么递归并取左右子树的最小深度值+1
3、右子树为空,左子树不空,递归取左子树的最小深度值
左子树为空,右子树不空,递归取右子树的最小深度值+1
4、如果左右都为空,return 1

class Solution {public:    int minDepth(TreeNode* root) {        if(root == NULL)            return 0;        if(root->left !=NULL && root->right!=NULL)            return min(minDepth(root->left),minDepth(root->right)) + 1;        else if(root->left == NULL && root->right!=NULL)            return minDepth(root->right)+1;        else if(root->left !=NULL && root->right == NULL)            return minDepth(root->left)+1;        else            return 1;        }};
0 0
原创粉丝点击