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