Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
思路:
递归求解二叉树的深度,左右子树较深的+1(。解释主要原因:存在根节点)
实现代码:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: int maxDepth(TreeNode* root) { if (root==0) { return 0; } int left=maxDepth(root->left); int right=maxDepth(root->right); if(left>right) { return left+1; } else { return right+1; } } };