标签:code treenode iss false 二叉树 树节点 return pre span
思路:要判断一颗二叉树是否对称,要判断一下几点,可以用递归来实现:
class Solution { public: bool isTreeSymmertic(TreeNode *pHead1,TreeNode *pHead2) { if(pHead1==NULL&&pHead2==NULL) return true;//左右子树都为空,肯定是对称的 if(pHead1==NULL) return false;//一颗为空 if(pHead2==NULL) return false; //判断当前值左右是否相等,判断左子树的左节点和右子树的右节点,判断左子树的右节点和右子树的左节点是否相等,三者缺一不可,一直递归 return pHead1->val==pHead2->val&&isTreeSymmertic(pHead1->left,pHead2->right)&&isTreeSymmertic(pHead1->right,pHead2->left); } bool isSymmetrical(TreeNode* pRoot) { if(pRoot==NULL) return true;//本身就为空肯定是对称的 return isTreeSymmertic(pRoot->left,pRoot->right);//判断左右子树 } };
标签:code treenode iss false 二叉树 树节点 return pre span
原文地址:https://www.cnblogs.com/caijiaming/p/9792174.html