数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))

数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片
数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片

在灯红酒绿的城市里,
一位喝的烂醉的小白程序猿猴,
游到马路的草丛边突然捡到了一个月光宝盒,
打开宝盒只见一卷发光的卷轴数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片
,
【数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))】上面扭曲的写着几个大字,想拿大offer,记得多洗刷刷(刷题请看阿紫姐姐)

目录:
数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片
1.经典选择题
数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片
2.经典OJ题
数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片
1.经典选择题
①.某完全二叉树按层次输出(同一层从左到右)的序列为 ABCDEFGH 。该完全二叉树的前序序列为( A)
A. ABDHECFG
B. ABCDEFGH
C. HDBEAFCG
D. HDEBFGCA
分析:
数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片

②.二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK; 中序遍历:HFIEJKG.则二叉树根结点为 (A)
A. E
B. F
C. G
D. H
分析:
数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片

③.设一课二叉树的中序遍历序列:badce,后序遍历序列:bdeca,则二叉树前序遍历序列(D)。
A. adbce
B. decab
C. debac
D. abcde
分析:
数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片


数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片
2.经典OJ题
①二叉树的最大深度:力扣
给定一个二叉树,找出其最大深度:
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7]
数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片

返回它的最大深度 3
分析:
数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片

代码:
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
数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片


数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片

代码:
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); }

本期二叉树也就完美落幕了。。。
请期待下篇博客排序算法,你知道哪些???

数据结构|劈叉都会还不会下腰吗((二叉树经典面试题详解))
文章图片
QQ:2186529582
跟我一起get更多学习秘诀吧!!!

    推荐阅读