minimum-depth-of-binary-tree (搜尋)
阿新 • • 發佈:2018-11-04
題意:輸出一個二叉樹的最小深度。
思路:搜尋一下就行了。
注意:搜尋的時候,是比較每個子樹的左右子樹的大小,每個子樹的深度要加上根節點!
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)return0; 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; } };