题目链接 | 难度等级 | 完成状态 | 完成分数 | 最后编辑时间 | 需要注意 |
---|---|---|---|---|---|
二叉树最大宽度和高度 | ★☆☆☆☆ | 答案正确 | 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; } |