1. 程式人生 > >minimum-depth-of-binary-tree (搜尋)

minimum-depth-of-binary-tree (搜尋)

題意:輸出一個二叉樹的最小深度。

思路:搜尋一下就行了。

注意:搜尋的時候,是比較每個子樹的左右子樹的大小,每個子樹的深度要加上根節點!

class Solution {
public:
    int run(TreeNode *root) {
        if (root == NULL) return 0;        //空樹
        if (root->left == NULL) return run(root->right) + 1;
        if (root->right == NULL) return run(root->left) + 1
; int left = run(root->left); int right = run(root->right); return (left < right) ? (left+1) : (right+1); } };

 

兄弟題

 maximum-depth-of-binary-tree

題意:輸出最大的二叉樹的深度

class Solution {
public:
    int maxDepth(TreeNode *root) {
        if (root == NULL)return
0; if (root->left == NULL) maxDepth(root->right) + 1; if (root->right == NULL)maxDepth(root->left) + 1; int left = maxDepth(root->left) + 1; int right = maxDepth(root->right) + 1; return left > right ? left : right; } };