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

非递归交换二叉树左右子树

时间:2016-02-08 17:24:49      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:

 1 void exchange( struct node* node){  
 2     struct node* tnode = node;  
 3     struct node* tmp = NULL;  
 4   
 5     if(node == NULL)  
 6         return;  
 7   
 8     while(1){  
 9         tmp = tnode-> left;  
10         tnode-> left = tnode->right ;  
11         tnode-> right = tmp;  
12   
13         if(tnode->right ){  
14             push(tnode-> right);  
15         }  
16   
17         if(tnode->left ){  
18             tnode = tnode->left;  
19         }  
20         else{  
21             if(!empty()){  
22                 tnode = top();  
23                 pop();  
24             }  
25             else{  
26                 break;  
27             }  
28         }  
29     }  
30 }

 

非递归交换二叉树左右子树

标签:

原文地址:http://www.cnblogs.com/zpfcode/p/5185052.html

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