【发布时间】:2019-05-11 00:21:56
【问题描述】:
我试图想出一种方法来递归地而不是迭代地遍历二叉树,并计算找到特定值的次数。我遇到的一个问题是第一种方法中的根。
节点内部类:
private class Node {
int data;
Node root;
Node left;
Node right;
}
递归和辅助方法:
public int valCount(int val) {
if (root != null) {
return valCount(val, root);
}
return 0;
}
public int valCount(int val, Node root) {
int cnt = 0;
if (root.left != null) {
if (root.left.data == val) {
cnt++;
}
valCount(val, root.left);
}
if (root.right != null) {
if (root.right.data == val) {
cnt++;
}
valCount(val, root.right);
}
return cnt;
}
由于根本问题,我无法进行测试,所以我不完全确定我的输出是否正确。所以,这个问题需要问......我是否走在正确的轨道上?我的方法是否有意义?任何帮助都是极好的。干杯!
【问题讨论】:
-
在递归调用中也传递
cnt并在class范围内定义cnt。
标签: java recursion binary-tree