題目描述
給定一個二叉樹,找出其最大深度,
二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數,
說明: 葉子節點是指沒有子節點的節點,
示例
給定二叉樹 [3,9,20,null,null,15,7]
3 / \ 9 20 / \ 15 7
回傳它的最大深度 3 ,
題目要求
1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * struct TreeNode *left; 6 * struct TreeNode *right; 7 * }; 8 */ 9 10 int maxDepth(struct TreeNode* root){ 11 12 }
題解
1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * struct TreeNode *left; 6 * struct TreeNode *right; 7 * }; 8 */ 9 10 int _max(int a,int b){ 11 return a>b?a:b; 12 } 13 14 int maxDepth(struct TreeNode* root){ 15 if(root==NULL)return 0; 16 /* 17 加這三行會快一些,在資料量小的時候(上限高) 18 if(root->left==NULL&&root->right==NULL)return 1; 19 else if(root->left==NULL)return maxDepth(root->right)+1; 20 else if(root->right==NULL)return maxDepth(root->left)+1; 21 */ 22 return 1+_max(maxDepth(root->left),maxDepth(root->right)); 23 }
簽到遞回題,遞回題只要情況考慮周到了,尤其是根節點為空的情況,就應該不會寫錯,
題目來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/
著作權歸領扣網路所有,商業轉載請聯系官方授權,非商業轉載請注明出處,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/139968.html
標籤:其他
上一篇:請問單個socket每秒沒發送的最多UDP包數量極限是多少
下一篇:選擇排序
