我需要找出二叉树中包含多少个偶数值。
这是我的代码。
private int countEven(BSTNode root){
if ((root == null)|| (root.value%2==1))
return 0;
return 1+ countEven(root.left) + countEven(root.right);
}
我只是编码,因为我没有办法测试它。我目前无法对其进行测试,但非常需要一个答案。任何帮助都深表感谢。
我需要找出二叉树中包含多少个偶数值。
这是我的代码。
private int countEven(BSTNode root){
if ((root == null)|| (root.value%2==1))
return 0;
return 1+ countEven(root.left) + countEven(root.right);
}
我只是编码,因为我没有办法测试它。我目前无法对其进行测试,但非常需要一个答案。任何帮助都深表感谢。
如果有一个奇数值的节点包含偶数值的子节点,则这些子节点将不计入您的代码中。下面的小增强。
private int countEven(BSTNode root){
if (root == null)
return 0;
int val = (root.value%2==1) ? 0 : 1;
return val + countEven(root.left) + countEven(root.right);
}
private int countEven(BSTNode root) {
if (root == null)
return 0;
int n = countEven(root.left) + countEven(root.right);
if(root.value % 2 == 0)
return n + 1;
else
return n;
}