題目描述 給定二叉樹的根節點 root ,返回所有左葉子之和。 解題思路 這裡我才用的是前序遍歷,我們在遍歷的時候因為是要手機左葉子節點,所以我們就不能等到遍歷當前節點的時候再去做判斷,應該遍歷到一個節點的時候就對其下一個節點的左右子樹進行判斷,這樣才能確保我們得到的是我們的左葉子節點 代碼實例 c ...
題目描述
給定二叉樹的根節點 root ,返回所有左葉子之和。
解題思路
這裡我才用的是前序遍歷,我們在遍歷的時候因為是要手機左葉子節點,所以我們就不能等到遍歷當前節點的時候再去做判斷,應該遍歷到一個節點的時候就對其下一個節點的左右子樹進行判斷,這樣才能確保我們得到的是我們的左葉子節點
代碼實例
class Solution {
int count=0;
public int sumOfLeftLeaves(TreeNode root) {
bianli(root);
return count;
}
public void bianli(TreeNode root){
if(root==null){
return;
}
//當前節點的下一個節點的左右孩子節點進行判斷
if(root.left!=null){
if(root.left.left==null && root.left.right==null){
count+=root.left.val;
}
}
bianli(root.left);
bianli(root.right);
}
}