Given a binary tree, find the leftmost value in the last row of the tree.
Example 1:
Input: 2 / / 1 3Output:1Example 2:
Input: 1 / / 2 3 / / / 4 5 6 / 7Output:7Note:You may assume the tree (i.e., the given root node) is notNULL.
思路:找二叉树最底层最左边的值,使用层次遍历
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { PRivate int result = 0; private int height = 0; public int findBottomLeftValue(TreeNode root) { search(root, 1); return result; } private void search(TreeNode root, int depth) { if(root==null) return; if(height<depth) { result = root.val; height = depth; } search(root.left, depth+1); search(root.right, depth+1); //如果同一左右子树都有,执行完左子树后height=depth,就不会再执行右子树的了 }}
新闻热点
疑难解答