一道java面试题目,估计n多人都不会做!用java语言写一段代码,要求计算出一个二叉树单节点(只有一个孩子的节点)的个数.该如何解决
一道java面试题目,估计n多人都不会做!用java语言写一段代码,要求计算出一个二叉树单节点(只有一个孩子的节点)的个数.
分不够还加呀!
------解决方案--------------------
这个用递归就够了
根节点有2个子节点的话就是 两棵子树中单节点数之和
根节点有1个子节点的话就是 1 + 子树中单节点数
------解决方案--------------------
分不够还加呀!
------解决方案--------------------
这个用递归就够了
根节点有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楼 不是一样的啊。。。