左叶子之和-404
题目描述
给定二叉树的根节点 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);
}
}