public int sumOfLeftLeaves(TreeNode root) {
if (root == null)//root为空直接返回0
return 0;
//left存root的左子树的左叶子之和,right存右子树的左叶子之和
//若root.left为左叶子,cur存root.left的值
int left = 0, right = 0, cur = 0;
//若root.left为左叶子
if (root.left != null && root.left.left == null && root.left.right == null)
cur = root.left.val;//存下这片左叶子的值
else//否则继续递归
left = sumOfLeftLeaves(root.left);//左子树值
right = sumOfLeftLeaves(root.right);//右子树值
return left + right + cur;//返回左子树值(若root.left非左叶子)+右子树值+root.left值(若root.
left为左叶子)
}
作者:FlyChenKai
链接:https://leetcode-cn.com/problems/two-sum/solution/liang-chong-bu-tong-xing-shi-de-di-gui-jie-fa-by-f/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。