当前位置: > C++,判断二叉树中某结点是其双亲结点的左孩子还是右孩子...
题目
C++,判断二叉树中某结点是其双亲结点的左孩子还是右孩子
以先序的方式创建一棵二叉树,结点为字符型.给定某结点的值,判断它是其双亲结点的左孩子还是右孩子,如果二叉树无该结点,输出“none”,如果该结点是二叉树的根,输出“root”.
--------------------------------------------------------------------------------
输入样例:
abdh###e#i##cf##gj###
d
--------------------------------------------------------------------------------
输出样例:
left
--------------------------------------------------------------------------------
输入描述:
第一行按先序输入扩展二叉树的先序遍历序列第二行输入一个结点的值
--------------------------------------------------------------------------------
输出描述:
输出该结点是其双亲结点的左孩子还是右孩子,如果是左孩子输出“left”,如果是右孩子输出“right”,如果该结点不存在,输出“none”,如果该结点为二叉树的根,输出“root”.
对了我需要具体的代码,

提问时间:2021-02-03

答案
你的题目出错了.前序输入的二叉树,或者你的是一个后序全二叉树
输入样例:
abdh###e#i##cf##gj###
d
--------------------------------------------------------------------------------
输出样例:
输出应该是right吧
其实是个完全二叉树的求下标算法.
叶子结点只可能在最大的两层上出现,对任意结点,若其右分支下的子孙最大层次为L,则其左分支下的子孙的最大层次必为L 或 L+1; 出于简便起见,完全二叉树通常采用数组而不是链表存储,其存储结构如下: var tree:array[1..n]of longint;{n:integer;n>=1} 对于tree,有如下特点: (1)若i为奇数且i>1,那么tree的左兄弟为tree[i-1]; (2)若i为偶数且i1,tree的双亲为tree[i div 2]; (4)若2*i
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.