111. Minimum Depth of Binary Tree

来源:互联网 发布:js如何设置div的高 编辑:程序博客网 时间:2024/06/05 21:04

寻找树的最小路径长度

方法1:深搜

const int Max=1000000;class Solution {public:    void DFS(TreeNode* root,int depth,int &min)    {        if(root==NULL)            return;        if(root->left==NULL&&root->right==NULL)        {            depth++;            if(min>depth)                min=depth;            return;        }        depth++;        DFS(root->left,depth,min);        DFS(root->right, depth, min);            }        int minDepth(TreeNode* root) {        if(root==NULL)            return 0;        int min=Max;        int depth=0;        DFS(root,depth,min);        return  min;    }    };


方法2:分治

class Solution {public:    int minDepth(TreeNode* root) {        if(!root)            return 0;        if(!root->left)            return minDepth(root->right)+1;        if(!root->right)            return minDepth(root->left)+1;        int l=minDepth(root->left);        int r=minDepth(root->right);        return min(l,r)+1;    }    };



0 0
原创粉丝点击