首页 > 其他 > 详细

数据结构(树)

时间:2015-09-14 22:20:42      阅读:238      评论:0      收藏:0      [点我收藏+]

题目1:二叉树的镜像

思路:递归

        8                                8

   6      10        转换成     10     6

5    7   9    11             11   9  7    5

 

 static void SwapNode(Node node)
        {
            if (node == null)
            {
                return;
            }

            Node temp = node.Left;

            node.Left = node.Right;
            node.Right = temp;

            SwapNode(node.Left);
            SwapNode(node.Right);
        }

 题目2:从上往下打印二叉树

思路:利用队列(广度优先)

 

    static void PrintFromTopToBottom(Node node)
        {
            if (node == null)
            {
                return;
            }
            Queue<Node> queue = new Queue<Node>();
            queue.Enqueue(node);
            while (queue.Count > 0)
            {
                Node current = queue.Dequeue();
                Console.WriteLine(current.Value);
                if (current.Left != null)
                {
                    queue.Enqueue(current.Left);
                }
                if (current.Right != null)
                {
                    queue.Enqueue(current.Right);
                }
            }
        }

 

数据结构(树)

原文:http://www.cnblogs.com/leonhart/p/4808276.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!