题目链接:https://oj.leetcode.com/problems/minimum-depth-of-binary-tree/
题目:
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.
解题思路:搜素从根到叶的最短深度,采用利用val值,每层val值增加1。再判断叶子val值最小,输出最小值就行。
class Solution {
private:
int sum;
public:
int minDepth(TreeNode *root) {
if (root == NULL) return 0;
else {
root->val = 1;
preOrder(root);
}
return sum;
}
Solution() {
sum = 10000;
}
void preOrder(TreeNode *root) {
if (root == NULL ) return ;
if (root->left == NULL && root->right == NULL)
{ if (root->val < sum) {
sum = root->val;
return ;
}else return;
}
if (root->left != NULL)
root->left->val = root->val + 1;
preOrder(root->left);
if (root->right != NULL)
root->right->val = root->val + 1;
preOrder(root->right);
}
};
转载请注明作者:vanish_dust