劈叉都会还不会下腰吗?(二叉树经典面试题详解)

简介: 劈叉都会还不会下腰吗?(二叉树经典面试题详解)

1.经典选择题

①.某完全二叉树按层次输出(同一层从左到右)的序列为 ABCDEFGH 。该完全二叉树的前序序列为( A)


A. ABDHECFG


B. ABCDEFGH


C. HDBEAFCG


D. HDEBFGCA


分析:


q1.png


②.二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历:HFIEJKG.则二叉树根结点为 (A)


A. E


B. F


C. G


D. H


分析:

q2.png



③.设一课二叉树的中序遍历序列:badce,后序遍历序列:bdeca,则二叉树前序遍历序列(D)。


A. adbce


B. decab


C. debac


D. abcde


分析:

q3.png



2.经典OJ题

①二叉树的最大深度:力扣


给定一个二叉树,找出其最大深度:


二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。


说明: 叶子节点是指没有子节点的节点。


示例:

给定二叉树 [3,9,20,null,null,15,7]

q4.png



返回它的最大深度 3


分析:

w1.png



代码:


int maxDepth(struct TreeNode* root){
    if(root == NULL)
    return 0;
    int left = maxDepth(root->left);
    int right = maxDepth(root->right);
    return left > right ? left + 1 : right + 1;
}

②平衡二叉树:力扣


给定一个二叉树,判断它是否是高度平衡的二叉树


本题中,一棵高度平衡二叉树定义为:


一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1

w2.png

w3.png




代码:


int maxDepth(struct TreeNode* root){
    if(root == NULL)
    return 0;
    int left = maxDepth(root->left);
    int right = maxDepth(root->right);
    return left > right ? left + 1 : right + 1;
}
bool isBalanced(struct TreeNode* root){
    if(root == NULL)
    return true;
    int left = maxDepth(root->left);
    int right = maxDepth(root->right);
    return abs(left - right) < 2 && isBalanced(root->left) && isBalanced(root->right);
}


本期二叉树也就完美落幕了。。。


       请期待下篇博客排序算法,你知道哪些???


相关文章
|
4月前
数据结构之二叉树及面试题讲解(二)
数据结构之二叉树及面试题讲解
29 0
|
8月前
|
存储 算法
【数据结构】 二叉树面试题讲解->叁
【数据结构】 二叉树面试题讲解->叁
|
8月前
|
存储
【数据结构】 二叉树面试题讲解->壹I(二)
【数据结构】 二叉树面试题讲解->壹I(二)
|
4月前
|
算法 C++
数据结构和算法面试题:实现一个函数,将一棵二叉树转换为它的镜像。(递归或者非递归实现)
数据结构和算法面试题:实现一个函数,将一棵二叉树转换为它的镜像。(递归或者非递归实现)
15 0
|
4月前
|
算法 Java C++
数据结构与算法面试题:实现二叉树的遍历(前序、中序、后序、层序)。
数据结构与算法面试题:实现二叉树的遍历(前序、中序、后序、层序)。
22 0
【面试小知识】带你深入了解二叉树的前中序遍历
【面试小知识】带你深入了解二叉树的前中序遍历
|
10月前
|
存储 Java
Java二叉树进阶面试题讲解
Java二叉树进阶面试题讲解
92 0
|
5月前
|
算法 Java 程序员
【Java程序员面试专栏 数据结构篇】五 高频面试算法题:二叉树
【Java程序员面试专栏 数据结构篇】五 高频面试算法题:二叉树
37 0
|
5月前
|
算法 C语言 C++
LeetCode | 二叉树高频面试算法题汇总【速来】-2
LeetCode | 二叉树高频面试算法题汇总【速来】
38 0
|
5月前
|
算法 C语言 C++
LeetCode | 二叉树高频面试算法题汇总【速来】-1
LeetCode | 二叉树高频面试算法题汇总【速来】
37 0