我想要想出一种方式来迭代遍历二叉树并计算找到特定值的次数。我遇到的一个问题是第一种方法的根源。在二叉树中计算具有特定值的节点
节点内部类:
private class Node {
int data;
Node root;
Node left;
Node right;
}
递归& helper方法:
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'。 – Prateek