判断一棵二叉树是不是镜像对称的二叉树

 http://blog.csdn.net/spch2008/article/details/9365281

左右子树同时遍历,若出现不一致,则说明不对称。


代码如下:

  1. struct Node  
  2. {  
  3.     Node *left;  
  4.     Node *right;  
  5.     Node()  
  6.     {  
  7.         left = right = NULL;  
  8.     };  
  9. };  
  10.   
  11. bool Judge(Node *leftRoot, Node *rightRoot)  
  12. {  
  13.     if(leftRoot != NULL && rightRoot != NULL)  
  14.     {  
  15.         if( Judge(leftRoot->left, rightRoot->left)  && Judge(leftRoot->right, rightRoot->right) )  
  16.             return true;  
  17.         else  
  18.             return false;  
  19.     }  
  20.     else if(leftRoot == NULL && rightRoot == NULL)  
  21.     {  
  22.         return true;  
  23.     }  
  24.     else  
  25.     {  
  26.         return false;  
  27.     }  
  28. }  
  29.   
  30.   
  31. bool JudgeTree(Node *root)  
  32. {  
  33.     if(root == NULL)  
  34.         return true;  
  35.   
  36.     return Judge(root->left, root->right);  
  37. }  

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值