码迷,mamicode.com
首页 > 其他好文 > 详细

打印二叉树某一层次的值(重点)

时间:2014-11-24 17:01:53      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   sp   on   div   log   bs   

方法一:递归

 1 void printNLevel(TreeNode *root, int n)
 2 {
 3     if (root == NULL)
 4     {
 5         return ;
 6     }
 7 
 8     if (n == 1)
 9     {
10         cout << root->data << endl;
11     }
12     else
13     {
14         printNLevel(root->left, n-1);
15         printNLevel(root->right, n-1);
16     }
17 }  

 

方法二:层次遍历

 1 void TransLevel2(Node* root,int level)
 2 {
 3     if(root == NULL)
 4         return ;
 5     else
 6     {
 7         int count_levels,count_nodes,level_nodes;
 8         Node* tmp;
 9         Queue<Node*> queue;
10         queue.EnQueue(root);
11         
12         count_levels=1;
13 
14         while(!queue.IsEmpty())
15         {
16             if(count_levels == level)
17                 break;
18 
19             count_nodes = 0;
20            
21             level_nodes = queue.Size();
22             
23             while(count_nodes < level_nodes)
24             {
25                tmp = queue.DeQueue();
26 
27                if(tmp->left != NULL)
28                     queue.EnQueue(tmp->left);
29 
30                if(tmp->right != NULL)
31                     queue.EnQueue(tmp->right);
32 
33                count_nodes++;
34             }
35 
36             count_levels++;
37         }
38 
39         PrintQueue(queue);
40     }
41 }

 

打印二叉树某一层次的值(重点)

标签:des   style   blog   color   sp   on   div   log   bs   

原文地址:http://www.cnblogs.com/yyxayz/p/4118774.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!