首页 > 学院 > 开发设计 > 正文

[leetcode]513. Find Bottom Left Tree Value

2019-11-08 02:38:58
字体:
来源:转载
供稿:网友

Given a binary tree, find the leftmost value in the last row of the tree.

Example 1:

Input:    2   / /  1   3Output:1

Example 2:

Input:        1       / /      2   3     /   / /    4   5   6       /      7Output:7

Note: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,就不会再执行右子树的了    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表