我使用Java進行二叉樹(不是二叉搜索樹)。我有類和實例變量聲明:驗證二叉樹中所有的數據項都等於
class intBTNode
{
private int data;
private intBTNode left;
private intBTNode right;
我想要做的就是寫一個返回true,只有樹中的所有條目等於目標數,或者如果樹是空的方法。 我寫了下面的代碼:
public static boolean allEqual(intBTNode root, int target)
{
if (root == null)
return true;
if (root.data == target && root.left != null)
return allEqual(root.left, target);
if (root.data == target && root.right != null)
return allEqual(root.right, target);
return false;
}
我想我的工作方式,通過這個來檢查代碼,但我不知道我充分檢查所有節點(即葉)的。此外,我試圖找出一種方法來攻擊這個問題是不是遞歸或會更有效。任何幫助或建議,將不勝感激。