标签: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 };
标签:ica off treenode 就是 roo ret 剑指offer nod val
原文地址:https://www.cnblogs.com/neverland0718/p/11253758.html