首页 > 代码库 > leetcode404-----简单的树的遍历

leetcode404-----简单的树的遍历

Find the sum of all left leaves in a given binary tree.

Example:

    3   /   9  20    /     15   7There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.

题目给出的意思很简单。就只是单纯的树的遍历而已。意思是计算出所有左叶子节点的值的和。

我采用递归的方式表示我的遍历顺序,其实主要的是要理解题目的意思,这里的叶子是最后的叶子,也就是说是末尾的节点才能算是满足条件的,而中间的一些左节点的值并不需要计算。

下面给出代码。

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public int sumOfLeftLeaves(TreeNode root) {        if(root == null)            return 0;        if(root.left != null && root.left.left == null && root.left.right == null)            return root.left.val + sumOfLeftLeaves(root.right);        else            return sumOfLeftLeaves(root.left) + sumOfLeftLeaves(root.right);    }}

leetcode404-----简单的树的遍历