在JAVA中求一個二叉樹的節點數值和,需要遍歷整個樹,將每個節點的數值累加起來。以下是代碼實現:
public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } public int sum(TreeNode root) { if(root == null) { //判斷節點是否為null return 0; } return root.val + sum(root.left) + sum(root.right); //遞歸調用左右子樹 }
其中用到了遞歸的思想,即將問題不斷縮小,最終得到整個樹的節點數值和。在遍歷過程中,每當遍歷到一個節點時,就將該節點的數值加到之前所得的和上。
在實際應用中,可以將該方法應用于求樹的深度、判斷樹是否平衡等問題。