面试算法题之二叉树|小试牛刀

🍄前言

大家好哇,我是一勺黑猫。作为一名计算机大三学生,马上就到找实习的时候了。最近陆续在做一些算法题,拿来和大家分享一下~

🍄二叉树

我们知道,二叉树也就是只有两个孩子节点的树。二叉树涉及到很多题目,比较容易理解的题目有遍历二叉树(前序中序后序)、二叉树的深度(dfs搜索)等等。
今天我们来说一说二叉树的深度。如果根节点不为空,那这个树的深度就是1+max(左子树深度, 右子树深度),如下图:
图片说明
二叉树如果是由链表形式给出的,我们通常构造这样的结构体:

struct TreeNode{
    int val;
    TreeNode *left,*right;
};

可以很容易写出二叉树深度递归的代码:

int dfs(TreeNode *root){
    if(root==NULL)
        return 0;
    return 1+max(dfs(root->left),dfs(root->right));
}

下面给大家看一道具体的题目:
图片说明
图片说明

🌰解题思路:

本题的输入形式,每个节点的序号可以和数组下标一一对应,并不需要创建链表,只需存储左右子树的序号,这样left域和right域的类型用int就可以了。具体代码如下。

🌰AC代码:

#include<iostream>
#include<vector>
using namespace std;

struct TreeNode{
    int left,right;
};

vector<TreeNode> v;    //存储二叉树的每个节点

int dfs(int root){

    //根节点为0时说明是空节点,深度为0
    if(root==0)
        return 0;

    //返回根节点的深度1+左右子树的最大深度
    return 1+max(dfs(v[root].left),dfs(v[root].right));
}

int main(){
    int n;
    cin>>n;
    v.resize(n+1);
    for(int i=1;i<=n;i++)
        cin>>v[i].left>>v[i].right;
    cout<<dfs(1);
    return 0;
}

🍄小试牛刀

感觉没有练够的小伙伴可以在我们的牛客网上继续做题哦,我为大家找到一些同类型题目,难度由易到难,可以尝试一下~

后续会推出同系列文章,感兴趣的小伙伴三连支持一下!!感谢大家

#算法学习##笔试题目##C/C++##笔记##题解#
全部评论
优秀优秀
2 回复 分享
发布于 2022-04-19 20:21
兄弟真棒👍
2 回复 分享
发布于 2022-04-19 17:17
太棒了,期待更新
1 回复 分享
发布于 2022-04-19 17:54
太厉害吧🤩
1 回复 分享
发布于 2022-04-19 17:43
学到了
1 回复 分享
发布于 2022-04-19 17:34
好棒,学到了很多
1 回复 分享
发布于 2022-04-19 17:30
太厉害了吧姐妹!
1 回复 分享
发布于 2022-04-19 16:04

相关推荐

03-12 14:52
已编辑
长沙学院 Java
点赞 评论 收藏
分享
评论
7
8
分享

创作者周榜

更多
正在热议
更多
# 一张图晒出你司的标语 #
4401次浏览 77人参与
# 找AI工作可以去哪些公司? #
9509次浏览 255人参与
# 米连集团26产品管培生项目 #
13431次浏览 285人参与
# 你的实习产出是真实的还是包装的? #
20514次浏览 343人参与
# AI面会问哪些问题? #
28438次浏览 572人参与
# 春招至今,你的战绩如何? #
66857次浏览 589人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
15495次浏览 224人参与
# 从事AI岗需要掌握哪些技术栈? #
9382次浏览 329人参与
# 中国电信笔试 #
32166次浏览 295人参与
# 你做过最难的笔试是哪家公司 #
34705次浏览 253人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
341033次浏览 2175人参与
# 金三银四,你的春招进行到哪个阶段了? #
22404次浏览 284人参与
# 同bg的你秋招战况如何? #
212254次浏览 1121人参与
# 哪些公司真双非友好? #
69762次浏览 289人参与
# 如何准备秋招 #
78321次浏览 868人参与
# 阿里笔试 #
179152次浏览 1318人参与
# 机械人避雷的岗位/公司 #
62716次浏览 393人参与
# 小马智行求职进展汇总 #
25149次浏览 80人参与
# 第一份工作一定要去大厂吗 #
15003次浏览 122人参与
# 担心入职之后被发现很菜怎么办 #
291406次浏览 1210人参与
# 为了减少AI幻觉,你注入过哪些设定? #
26298次浏览 310人参与
# 应届生第一份工资要多少合适 #
20709次浏览 86人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务