摘要

题目链接 难度等级 完成状态 完成分数 最后编辑时间 需要注意
二叉树最大宽度和高度 ★☆☆☆☆ 答案正确 100 2014-10-11 11:32:58

题意

求二叉树的最大宽度和高度。

题解

出题者都叫大家老老实实搜索了,再不搜索那就是没有人性了。

代码

1501.cpp代码已折叠
展开折叠内容
显示/移除行号
  1. #include<iostream>
  2. int L[20],R[20],n,maxDepth=0,maxBreadth=0,breadth[20];
  3. void transversal(const int &node,const int &depth)
  4. {
  5. ++breadth[depth];
  6. if(breadth[depth]>maxBreadth)
  7. maxBreadth=breadth[depth];
  8. if(depth>maxDepth)
  9. maxDepth=depth;
  10. if(L[node])
  11. transversal(L[node],depth+1);
  12. if(R[node])
  13. transversal(R[node],depth+1);
  14. }
  15. int main()
  16. {
  17. std::cin>>n;
  18. for(int i=1;i<=n;++i)
  19. std::cin>>L[i]>>R[i];
  20. transversal(1,1);
  21. std::cout<<maxBreadth<<" "<<maxDepth;
  22. return 0;
  23. }

著作权声明[编辑]

关于[编辑]