首页 > 其他 > 详细

Leetcode 111. Minimum Depth of Binary Tree

时间:2020-02-07 11:19:29      阅读:54      评论:0      收藏:0      [点我收藏+]

 

技术分享图片

 

 我们要想知道最小深度,我们只需要知道根结点在的层级吖。这样思考是不是很方便。把每个根结点的层级加入map,取map的第一位,就是最小深度啦

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    int minDepth(TreeNode* root) {
        map<int, bool> m;
        preOrder(root, 0, m);
        if(!root) return 0;
        return m.begin()->first + 1;
    }
    void preOrder(TreeNode* root, int level, map<int,bool>& m) {
        if(root == NULL) return;
        if(root->left == NULL && root->right == NULL) m[level] = true;
        preOrder(root->left, level+1, m);
        preOrder(root->right, level+1, m);
    }

};

 

Leetcode 111. Minimum Depth of Binary Tree

原文:https://www.cnblogs.com/littlepage/p/12271818.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!