在线求助,输入一个二叉树,如何从叶子节点向上逐层打印

问题描述

在线求助,输入一个二叉树,如何从叶子节点向上逐层打印二叉树的形式如下: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;}}

解决方案五:
谢谢楼上的提示。

时间: 2024-09-14 15:33:19

在线求助,输入一个二叉树,如何从叶子节点向上逐层打印的相关文章

求助!一个二叉树程序创建和遍历的程序

问题描述 求助!一个二叉树程序创建和遍历的程序 #include #include typedef char ElementType; typedef struct BiNode{ ElementType data; struct BiNode * lchild; struct BiNode * rchild; }BiNode; void CreatBiTree2(BiNode * T); void PreTraverBiTree(BiNode const * T); int main() {

acm-怎么先序建立一颗二叉树,输入一个数字比如12,生成12个节点的二叉树,

问题描述 怎么先序建立一颗二叉树,输入一个数字比如12,生成12个节点的二叉树, 如题, 怎么先序建立一颗二叉树,输入一个数字比如12,生成12个节点的二叉树,其叶子节点的左右孩子都为-1(空). 解决方案 根据先序.中序.后序中的两者还原二叉树--递归函数和Csharp泛型

新人c++无奖问答,在线求助

问题描述 新人c++无奖问答,在线求助 编写一个自定义函数:int f( int M, int N) ,函数f的功能是:对给定的正整数M和N,找出满足方程"5x+6y=M"的正整数解中x和y都是偶数的解.要求:若M和N不都是正整数,则结束函数并返回-1:只有M和N都是正整数时,且x,y∈[1,N], 才继续求解操作,并用二重循环进行求解:(1)在函数中输出满足条件的正整数解x和y,(2)使函数值返回满足条件的正整数解的组数. #include < iostream> usi

新手求助 定义一个name 如何输入图形类的名字输出相应的类的内容

问题描述 新手求助 定义一个name 如何输入图形类的名字输出相应的类的内容 设计三个图形类:Circle(圆).Rectangle(矩形).Triangle(三角形): 1.Cirlce类基本信息:圆心坐标.半径: Rectangle类基本信息:长.宽: Triangle类基本信息:三个顶点坐标: 其中:成员变量为private属性,成员函数为public属性: 2.每个图形类有计算图形的面积GetArea(),显示图形的基本信息函数Show(): 现在我的代码不能实现 输入名字circle

【31】给定一个二叉树打印出所有从根结点到叶子结点路径和为 k 的路径

题目:给定一个二叉树要求打印出所有从根结点到叶子结点路径和为value的路径           例如,给定二叉树如下要求打印出所有和为9的路径,有1->6->3->-1和1->7->4->-3            分析: 1. 要找到所有的路径,利用前序遍历即可做到,我们维护一个数组保存路径上面的点,同时维护一个sum,当到达叶子结点的时候判断是否相等即可 2. 代码 //二叉树结点 struct BinaryTreeNode{ int value; BinaryT

【新人求助!】如何编写输入一个数字找0到这个数字范围内的所有偶数

问题描述 大神们帮帮忙吧,小的是才进入大一没几天的人,之前毫无基础,现在在gedit编写java格式的文件然后在terminal里check,但是很多都没有思路啊,如列出的以下:1.输入一个数字找0到这个数字范围内的所有偶数2.输入一系列数字找其中的最小正整数3.输入一个大于0的数字,在terminal里回复得到*的符号然后依次递减排成几排e.g.:输入:5得到:***************4.输入一个单词,得到单词的相反顺序,判断单词是否是回文e.g.:输入:apple得到:elppap.s

算法-求助,数据结构二叉树问题

问题描述 求助,数据结构二叉树问题 试编写算法,求给定二叉树上从根结点到叶子结点的一条其路径长度等于树的深度减一的路径(即列出从根结点到该叶子结点的结点序列),若这样的路径存在多条,则输出路径终点(叶子结点)在"最左"的一条. 解决方案 ?? #define null 0???#include "stdio.h"???typedef char datatype;?? typedef struct tn? {datatype data;?? struct tn lc,

[IT]当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

原文:What really happens when you navigate to a URL 作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等. 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事. 1. 首先,你得在浏览器里输入要网址: 2. 浏览器查找域名的IP地址 导航的第一步是通过访问的域名找出其IP地址. DNS查找过程如下: 浏览器缓存 – 浏

当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

这道题目没有所谓的完全的正确答案,这个题目可以让你在任意的一个点深入下去, 只要你对这个点是熟悉的.以下是一个大概流程: 浏览器向DNS服务器查找输入URL对应的IP地址. DNS服务器返回网站的IP地址. 浏览器根据IP地址与目标web服务器在80端口上建立TCP连接 浏览器获取请求页面的html代码. 浏览器在显示窗口内渲染HTML. 窗口关闭时,浏览器终止与服务器的连接. 这其中最有趣的是第1步和第2步(域名解析).我们输入的网址(域名)是IP地址的一个别名, 在一个DNS内,一个域名对应