《英雄薩姆:西伯利亞狂想曲》前10分鐘實機演示公開
阿新 • • 發佈:2022-01-22
111. 二叉樹的最小深度
題目:
給定一個二叉樹,找出其最小深度。
最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。
說明:葉子節點是指沒有子節點的節點。
示例 1:
輸入:root = [3,9,20,null,null,15,7]
輸出:2
示例 2:
輸入:root = [2,null,3,null,4,null,5,null,6]
輸出:5
提示:
樹中節點數的範圍在 [0, 105] 內
-1000 <= Node.val <= 1000
題解:
1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4* int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */ 10 class Solution { 11 public: 12 int minDepth(TreeNode* root) 13 { 14 if(!root) return 0; 15 int lnode = minDepth(root->left), rnode = minDepth(root->right);16 if(lnode && rnode) return min(lnode, rnode) + 1; 17 return lnode ? lnode + 1 : lnode + rnode + 1; 18 } 19 };