摘要

题目链接 难度等级 完成状态 完成分数 最后编辑时间 需要注意
二叉树的序遍历 ★☆☆☆☆ 答案正确 100 2014-10-11 11:21:21

题意

求二叉树的三序遍历。

题解

就是递归的时候遍历前输出节点、遍历左子树后输出节点、和遍历右子树时输出节点,故称作前序遍历、中序遍历、后序遍历。

代码

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

著作权声明[编辑]

关于[编辑]