1 /* 2 struct TreeNode { 3 int val; 4 struct TreeNode *left; 5 struct TreeNode *right; 6 TreeNode(int x) : 7 val(x), left(NULL), right(NULL) { 8 } 9 };*/ 10 class Solution { 11 public: 12 int TreeDepth(TreeNode* pRoot) 13 { 14 if(pRoot==NULL) 15 return 0; 16 else 17 { 18 int leftLength=TreeDepth(pRoot->left); 19 int rightLength=TreeDepth(pRoot->right); 20 return leftLength>rightLength?(leftLength+1):(rightLength+1); 21 } 22 } 23 };
实现二:非递归实现
原文:http://www.cnblogs.com/lou424/p/5047698.html