首页 > 编程语言 >代码随想录算法训练营第16天 | 二叉树更加进阶

代码随想录算法训练营第16天 | 二叉树更加进阶

时间:2024-07-21 18:06:51浏览次数:9  
标签:进阶 val get int res digui 随想录 height 二叉树

2024年7月18日

用层序遍历巧解
题513. 找树左下角的值
层序遍历的板子一定要熟背。

class Solution {
    public int findBottomLeftValue(TreeNode root) {
        List<List<Integer>> res = new ArrayList<>();
        //用根左右遍历,每次记录高度
        int height=0;
        res = digui(res,height,root);
        return res.get(res.size()-1).get(0);
    }

    public List<List<Integer>> digui(List<List<Integer>> res,int height,TreeNode p){
        if(res.size()<height+1){
            List<Integer> res1 = new ArrayList<>();
            res.add(res1);
        }
        int val = p.val;
        res.get(height).add(val);
        if(p.left!=null){
            res = digui(res,height+1,p.left);
        }
        if(p.right!=null){
            res = digui(res,height+1,p.right);
        }
        return res;
    }
}

标签:进阶,val,get,int,res,digui,随想录,height,二叉树
From: https://www.cnblogs.com/hailicy/p/18314772

相关文章