标签:代码 microsoft link ftl 思路 nbsp tle find ==
Find the sum of all left leaves in a given binary tree.
Example:
3
/ 9 20
/ 15 7
There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.
题意:给定一颗二叉树,返回该二叉树的左叶子结点的和
思路:层次遍历,然后判断每个结点是否为左叶子结点,如果当前结点是左叶子结点则加进sum,代码如下:
public int sumOfLeftLeaves(TreeNode root) { if(root == null) return 0; int sum = 0; Queue<TreeNode> q = new LinkedList<>(); q.offer(root); while(!q.isEmpty()){ TreeNode t = q.poll(); sum += isLeftLeaf(t); if(t.left != null){ q.offer(t.left); } if(t.right != null){ q.offer(t.right); } } return sum; } public int isLeftLeaf(TreeNode t){ if(t.left != null){ if(t.left.left == null && t.left.right == null) return t.left.val; } return 0; }
LeetCode 404. Sum of Left Leaves
标签:代码 microsoft link ftl 思路 nbsp tle find ==
原文地址:http://www.cnblogs.com/zeroingToOne/p/7955752.html