树目前LC上涉及83道题,属于面试的一个高频范围区。我们根据标签分类是可以获取到一部分信息笔试考察范围点的。目前LC上一共是1989道题。概率为182/1989= 9.15%.
- 求二叉树的公共最小父节点
- 求二叉搜索树的公共最小父节点
- 二叉树的最大深度
- 重建二叉树
- 从上到下打印二叉树
- 从上到下打印二叉树,层级分开
- 从上到下打印二叉树,层级分开,之字形打印
- 验证二叉搜索树
- 序列化二叉树和反序列化二叉树
-...等其他二叉树的相关问题
二叉树的思想可以归纳为:
二叉树很奇妙,找不到,数组藏。
遍历查看有2种,BFS和DFS。
代码精简,DFS是首选。
队列配合,BFS准没错。
持续更新....
BFS公式
//固定模版,初始化根节点
Queue<TreeNode> queue= new LinkedList({add(root)});
//或者初始化根节点
queue.offer(root);
while(!queue.isEmpty()){
//队列不为空
TreeNode node = queue.poll();
if(node.left != null){
queue.offer(node.left);
}
if(node.right != null){
queue.offer(node.right);
}
//处理需要的节点node.val
}
//变形while循环套for循环来控制左右子树的输出,或者加上结果集来判断奇偶(栈也可以)
//可以参考从上到下打印二叉树的题目
DFS公式
public 要处理的返回值 find(TreeNode root){
//递归边界退出条件
if(root == null){
return null;
}
要处理的返回值 = find(root.left);
要处理的返回值 = find(root.right);
return 要处理的返回值;
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。