Minimum Depth of Binary Tree

来源:互联网 发布:手机触摸屏控制软件 编辑:程序博客网 时间:2024/06/04 19:37
struct TreeNode {    int val;    struct TreeNode *left;    struct TreeNode *right;};int minDepth(struct TreeNode* root) {    if(root==NULL) {        return 0;    }    if(root->left==NULL&&root->right==NULL) {        return 1;    }    int rD=0;    int lD=0;    rD=minDepth(root->right);    lD=minDepth(root->left);    if(rD==0) {        return lD+1;    } else if(lD==0) {        return rD+1;    } else {        return rD>lD?(lD+1):(rD+1);    }}

递归还是不懂啊
这边写一下
递归应该是先考虑最一般情况这边就是如果一个root为NULL那么就返回0层
root的左右节点都是NULL 就返回1
否则就进入递归了
看一个root的左右子树的高 输出低的
如果一边是NULL 就为另一边的长度 因为题目要求的应该是从根节点直接到叶节点的长度
递归是不是可以这样考虑
我先想最基本的一些情况 然后再弄一棵大树的一棵子树 并想办法不断加上去?
还要多练练

0 0
原创粉丝点击