美文网首页iOS基础
输入一棵二叉树的根结点,求该树的深度?

输入一棵二叉树的根结点,求该树的深度?

作者: 原来是泽镜啊 | 来源:发表于2019-08-10 21:37 被阅读0次

    输入一棵二叉树的根结点,求该树的深度?

    邀请你进入官方【iOS社群】,iOS技术职业交流覆盖 2800+技术牛人,
    直接搜索或点击群号:638302184,快速入群,我们期待您的加入!

    二叉树的结点定义如下:
    struct BinaryTreeNode
    {
        int m_nValue ;
        BinaryTreeNode* m_pLeft;
        BinarvTreeNode* m_pRight ;
    }
    
    • 如果一棵树只有一个结点,它的深度为1。

    • 如果根结点只有左子树而没有右子树,那么树的深度应该是其左子树的深度加1;同样,如果根结点只有右子树而没有左子树,那么树的深度应该是其右子树的深度加1。

    • 如果既有右子树又有左子树,那该树的深度就是其左、右子树深度的较大值再加1。

    int TreeDepth(TreeNode* pRoot)
    {
        if(pRoot == nullptr)
            return 0;
        int left = TreeDepth(pRoot->left);
        int right = TreeDepth(pRoot->right);
    
        return (left>right) ? (left+1) : (right+1);
    }
    

    .

    BAT面试题合集地址:https://www.jianshu.com/p/75e4b9fdcf41

    相关文章

      网友评论

        本文标题:输入一棵二叉树的根结点,求该树的深度?

        本文链接:https://www.haomeiwen.com/subject/lwddjctx.html