Given a binary tree, find its minimum depth.
The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
Solution:
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: int min = 2147483647; void calc(int depth, TreeNode *node) { if(node == NULL) return; if(node -> left == NULL && node -> right == NULL) { if(depth < min) min = depth + 1; } else { if(node -> left != NULL) calc(depth + 1, node -> left); if(node -> right != NULL) calc(depth + 1, node -> right); } } int minDepth(TreeNode *root) { if(root == NULL) return 0; calc(0, root); return min; } };
[LeetCode] Minimum Depth of Binary Tree,布布扣,bubuko.com
[LeetCode] Minimum Depth of Binary Tree
原文:http://www.cnblogs.com/changchengxiao/p/3586358.html