本文主要是介绍leetcode No104. Maximum Depth of Binary Tree,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Question:
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.
找二叉树的最大深度
Algorithm:
Accepted Code:
/*** 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) {int deep=0;if(root!=NULL){int deep_left = maxDepth(root->left);int deep_right = maxDepth(root->right);deep = (deep_left > deep_right)?deep_left+1:deep_right+1;}return deep;}
};
写法2、 /*** 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) {int res=0;helper(root,0,&res);return res;}void helper(TreeNode* root,int index,int *max){if(root==NULL){if(*max<index)*max=index;return;}else{helper(root->left,index+1,max);helper(root->right,index+1,max);}}
};
这篇关于leetcode No104. Maximum Depth of Binary Tree的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!