| 题目链接 | 难度等级 | 完成状态 | 完成分数 | 最后编辑时间 | 需要注意 |
|---|---|---|---|---|---|
| 二叉树最大宽度和高度 | ★☆☆☆☆ | 答案正确 | 100 | 2014-10-11 11:32:58 | 无 |
求二叉树的最大宽度和高度。
出题者都叫大家老老实实搜索了,再不搜索那就是没有人性了。
| 1501.cpp代码已折叠
展开折叠内容
|
|---|
#include<iostream>
int L[20],R[20],n,maxDepth=0,maxBreadth=0,breadth[20];
void transversal(const int &node,const int &depth)
{
++breadth[depth];
if(breadth[depth]>maxBreadth)
maxBreadth=breadth[depth];
if(depth>maxDepth)
maxDepth=depth;
if(L[node])
transversal(L[node],depth+1);
if(R[node])
transversal(R[node],depth+1);
}
int main()
{
std::cin>>n;
for(int i=1;i<=n;++i)
std::cin>>L[i]>>R[i];
transversal(1,1);
std::cout<<maxBreadth<<" "<<maxDepth;
return 0;
}
|