劍指offer39_樹的深度

/**************************************************************
*@time                  2016/08/26  17:51
*@place                 Ctrip.15#.9F
*@author                DZQ
*******************************************************************/
#include<cstdio>
#include<algorithm>
struct Node
{
    int     value=-1;
    Node*   lson=NULL;
    Node*   rson=NULL;
};
/***********************************************************************
*@name              get_Depth    得到一棵樹的深度
*@parameter         Node* node   輸的節點,主函數傳的參數爲一棵樹的根節點
*@description                    運用了遞歸的思想。一棵樹的深
*                                度等於出根節點爲子樹的深度家一
****************************************************************************/
int get_Depth(Node* node)
{
    if(node==NULL)
    {
        return 0;
    }
    int depth_Of_Lson=get_Depth(node->lson);//得到左子樹的深度
    int depth_Of_Rson=get_Depth(node->rson);//得到右子樹的深度

    int depth_Of_Son=depth_Of_Lson>depth_Of_Rson?depth_Of_Lson:depth_Of_Rson;//左右子樹深度比較大的作爲子樹的深度
    return depth_Of_Son+1;//樹的深度等於子樹的深度加一
}
int main()
{
    //構造樹
    Node* root=(Node*)malloc(sizeof(Node));
    root->value=1;
    root->lson=NULL;
    root->rson=NULL;

    Node* node2=(Node*)malloc(sizeof(Node));
    node2->value=2;
    node2->lson=NULL;
    node2->rson=NULL;
    root->lson=node2;

    Node* node3=(Node*)malloc(sizeof(Node));
    node3->value=3;
    node3->lson=NULL;
    node3->rson=NULL;
    root->rson=node3;

    Node* node4=(Node*)malloc(sizeof(Node));
    node4->value=4;
    node4->lson=NULL;
    node4->rson=NULL;
    node2->lson=node4;

    Node* node5=(Node*)malloc(sizeof(Node));
    node5->value=5;
    node5->lson=NULL;
    node5->rson=NULL;
    node2->rson=node5;

    Node* node6=(Node*)malloc(sizeof(Node));
    node6->value=6;
    node6->lson=NULL;
    node6->rson=NULL;
    node3->rson=node6;

    Node* node7=(Node*)malloc(sizeof(Node));
    node7->value=7;
    node7->lson=NULL;
    node7->rson=NULL;
    node5->rson=node7;


    int depth_Of_Son=get_Depth(root);
    printf("The depth of Tree is %d\n",depth_Of_Son);
}


發佈了35 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章