我想要想出一種方式來迭代遍歷二叉樹並計算找到特定值的次數。我遇到的一個問題是第一種方法的根源。在二叉樹中計算具有特定值的節點
節點內部類:
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