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