数组是属性 int[] res = new int[8]; res.length;
对象是size()方法 List<Integer> arry = new ArrayList<>(); arry.size();
树高度深度要想到 后序遍历
构造二叉树都是 前序遍历
遇到 二叉搜索树,一定想着中序遍历
二叉树遍历模板 递归全部遍历
类似:TreeNode left = lowestCommonAncestor(root.left,p,q);
搜索二叉树遍历模板 if判断递归遍历
类似:
if(root.val > p.val && root.val > q.val){
TreeNode left = lowestCommonAncestor(root.left,p,q);
搜索树是有方向了,可以根据插入元素的数值,决定递归方向。
513.找树左下角的值
class Solution {
public int findBottomLeftValue(TreeNode root) {
int res = 0;
if(root == null){
return res;
}
Queue<TreeNode> que = new LinkedList<>();
que.add(root);
while(!que.isEmpty()){
int size = que.size();
for(int i = 0;i < size;i++){
TreeNode node = que.poll();
//每层遍历将第一个元素赋值
if(i == 0) res = node.val;
if(node.left != null) que.add(node.left);
if(node.right != null) que.add(node.right);
}
}
return res;
}
}