问题描述
在线求助,输入一个二叉树,如何从叶子节点向上逐层打印二叉树的形式如下:ABCDEFG程序打印出,DEFGBCA用java如何实现,请高手指点一下,谢谢!
解决方案
解决方案二:
先层次遍历,压入到堆栈或者向量什么的都可以...
解决方案三:
楼上的有没有代码示例呀?
解决方案四:
importjava.util.ArrayList;importjava.util.List;publicclassTest{publicstaticvoidmain(String[]args){//组装一颗树Nodea=newNode("A");Nodeb=newNode("B");Nodec=newNode("C");Noded=newNode("D");Nodee=newNode("E");Nodef=newNode("F");Nodeg=newNode("G");a.leftChild=b;a.rightChild=c;b.leftChild=d;b.rightChild=e;c.leftChild=f;c.rightChild=g;//用一个数组来存储遍历树的结点List<Node>ns=newArrayList<Node>();ns.add(a);intindex=0;//广度优先遍历树while(index<ns.size()){Nodetemp=ns.get(index);if(temp.rightChild!=null){ns.add(temp.rightChild);}if(temp.leftChild!=null){ns.add(temp.leftChild);}++index;}for(inti=ns.size()-1;i>-1;--i){System.out.print(ns.get(i));}}}classNode{NodeleftChild;NoderightChild;Stringname;Node(Stringname){this.name=name;}@OverridepublicStringtoString(){returnname;}}
解决方案五:
谢谢楼上的提示。