使用遞歸解決此類問題,可以首先分析問題及其拆解,這裏面可以將求葉子節點的和拆解爲求左子樹葉子節點和與求右子樹的葉子節點和,然後分析遞歸出口,這裏即訪問到葉子節點退出,返回葉子節點本身的值。
class Solution{
public int leafsum(TreeNode root){
if(root == null){
return 0;
}
if(root.left == null && root.right == null){
return root.val;
}
return leafsum(root.left) + leafsum(root.right);
}
}