101. 对称二叉树

66 阅读1分钟

101. 对称二叉树 - 力扣(LeetCode)

思路: 把左子树的左孩子与右子树的右孩子,左子树的右孩子与右子树的左孩子,匹配对比,有一个不一样就不是对称二叉树。

边界情况

如果左子树左孩子或 右孩子与 右子树的右孩子或左孩子都为NULL,那么这两个节点就按相等处理,如果只有一个节点为空,那么就按不等处理。

image.png


class Solution {
public:

   bool def(TreeNode* l,TreeNode* r)
   {
       //if(root==nullptr)return false;
      if (l == nullptr && r == nullptr) {
            return true;
        }

       if(l&&r)
       {
       if(l->val!=r->val)
       {
           return false;
       }

        return  def(l->left,r->right)&&def(l->right,r->left);
 }
         
      

return false;
   }
    bool isSymmetric(TreeNode* root) {
     
 if(root==nullptr)return true;
  
  
    TreeNode* l=root->left;
    TreeNode* r=root->right;
    return def(l,r);
    }
};