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

剑指offer系列47:堆成的二叉树

时间:2019-07-27 10:03:55      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:ica   off   treenode   就是   roo   ret   剑指offer   nod   val   

这个题的主要思路是:

用二叉树的左子树的右子树和右子树的左子树比较,再用左子树的左子树和右子树的右子树比较。(好像有点绕,但其实就是堆成的思想)

剑指offer的说法是用数的前序遍历的两个方法,前序遍历应该是:根-》左-》右。但是我们用另一种前序遍历:根-》右-》左。如果这两个序列一样就判断它是对称的。

这两个方法在实现上其实是一样的。

 1 class Solution {
 2 public:
 3     bool isSymmetrical(TreeNode* pRoot)
 4     {
 5         return aux(pRoot, pRoot);
 6     }
 7     bool aux(TreeNode* pleft, TreeNode* pright)
 8     {
 9         if (pleft == NULL&&pright == NULL)
10             return true;
11         if (pleft == NULL || pright == NULL)
12             return false;
13         if (pleft->val != pright->val)
14             return false;
15 
16         return aux(pleft->left, pright->right) && aux( pright->right, pleft->left);
17     }
18 
19 };

 

剑指offer系列47:堆成的二叉树

标签:ica   off   treenode   就是   roo   ret   剑指offer   nod   val   

原文地址:https://www.cnblogs.com/neverland0718/p/11253758.html

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