#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
/*
问题:
Contributors: Admin
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.
分析:给定一颗二叉树,找到它的最大深度。
这是程序员面试金典的一道题目。应该是用递归。
如果当前结点为空,返回高度为0
如果当前结点非空,返回左右孩子结点高度的较大值 + 1
*/
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)
{
return 0;
}
return ( max( maxDepth(root->left) , maxDepth(root->right) ) + 1 );
}
};
void print(vector<int>& result)
{
if(result.empty())
{
cout << "no result" << endl;
return;
}
int size = result.size();
for(int i = 0 ; i < size ; i++)
{
cout << result.at(i) << " " ;
}
cout << endl;
}
void process()
{
vector<int> nums;
int value;
int num;
Solution solution;
vector<int> result;
while(cin >> num )
{
nums.clear();
for(int i = 0 ; i < num ; i++)
{
cin >> value;
nums.push_back(value);
}
}
}
int main(int argc , char* argv[])
{
process();
getchar();
return 0;
}
leecode 解题总结:104. Maximum Depth of Binary Tree
最新推荐文章于 2024-10-15 15:32:42 发布
