原創博文,轉載請注明出處!
# 題目
# 舉例
下圖二叉樹的深度為4,最長路徑為1-2-5-7.
# 思路(遞歸)
如果一個樹只有一個節點,它的深度為1;
如果根節點只有左子樹而沒有右子樹,那么樹的深度應該是其左子樹的深度+1;
如果根節點只有右子樹而沒有左子樹,那么樹的深度應該是其右子樹的深度+1;
如果根節點既有左子樹又有右子樹,那么樹的深度應該是左右字數深度的較大值+1.
# 代碼
1 class Solution { 2 public: 3 int TreeDepth(TreeNode* pRoot) 4 { 5 if(pRoot == nullptr) 6 return 0; 7 int left = TreeDepth(pRoot->left); 8 int right = TreeDepth(pRoot->right); 9 10 return (left>right) ? (left+1) : (right+1); 11 12 } 13 };



