二叉树的深度
一个树的深度等于max(左子树深度,右子树深度)+1。
c#版本:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 二叉树深度
{
    class Program
    {
        class Node
        {
            string data;
            public Node LeftNode { get; set; }
            public Node RightNode { get; set; }
            public Node(string data)
            {
                this.data = data;
            }
        }
        static int GetDepth(Node root)
        {
            if (root == null)
                return 0;
            int leftDepth = GetDepth(root.LeftNode);
            int rightDepth = GetDepth(root.RightNode);
            return leftDepth > rightDepth ? leftDepth + 1 : rightDepth + 1;
        }
        static void Main(string[] args)
        {
            Node node0 = new Node("0");
            Node node1 = new Node("1");
            Node node2 = new Node("2");
            Node node3 = new Node("3");
            Node node4 = new Node("4");
            Node node5 = new Node("5");
            Node node6 = new Node("6");
            Node node7 = new Node("7");
            Node node8 = new Node("8");
            node0.LeftNode = node1;
            node0.RightNode = node2;
            node1.LeftNode = node3;
            node1.RightNode = node4;
            node2.LeftNode = node5;
            node2.RightNode = node6;
            node4.RightNode = node7;
            node7.RightNode = node8;
            Console.WriteLine(GetDepth(node0));
        }
    }
}
                    
                
                
            
        
浙公网安备 33010602011771号