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

Posted neverland0718

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer系列47:堆成的二叉树相关的知识,希望对你有一定的参考价值。

这个题的主要思路是:

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

剑指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:堆成的二叉树的主要内容,如果未能解决你的问题,请参考以下文章

283668

Leetcode二叉树专题(仅需7道题就可以带你入门二叉树基本玩法)

剑指offer-序列化二叉树

剑指Offer对答如流系列 - 对称的二叉树

183132I32II32III24

183132I32II32III24