读书人

一道java面试题目,估计n多人都不会做!

发布时间: 2012-01-11 22:28:46 作者: rapoo

一道java面试题目,估计n多人都不会做!用java语言写一段代码,要求计算出一个二叉树单节点(只有一个孩子的节点)的个数.
分不够还加呀!

[解决办法]
这个用递归就够了
根节点有2个子节点的话就是 两棵子树中单节点数之和
根节点有1个子节点的话就是 1 + 子树中单节点数
[解决办法]

Java code
public void countNodes(BiTree bt) {    if (bt.lchild != null && bt.rchild == null) {        ++count; //设置一个全局计数器    }        countNodes(bt.lchild);        countNodes(bt.rchild);    }
[解决办法]
有点不对
[解决办法]
Java code
public void countNodes(BiTree bt) {        if (bt.lchild != null && bt.rchild == null) {            ++count;            countNodes(bt.lchild);        } else if (bt.lchild == null && bt.rchild != null) {            ++count;            countNodes(bt.rchild);        }    }
[解决办法]
2楼 4楼 不是一样的啊。。。

读书人网 >J2SE开发

热点推荐