• 【leetcode 简单】第二十二题 对称二叉树


    给定一个二叉树,检查它是否是镜像对称的。

    例如,二叉树 [1,2,2,3,4,4,3] 是对称的。

        1
       / 
      2   2
     /  / 
    3  4 4  3
    

    但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

        1
       / 
      2   2
          
       3    3
    

    说明:

    如果你可以运用递归和迭代两种方法解决这个问题,会很加分。

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     struct TreeNode *left;
     *     struct TreeNode *right;
     * };
     */
    
    bool Symmetric(struct TreeNode *left,struct TreeNode *right);
    bool isSymmetric(struct TreeNode* root) {
        if(!root)
        {
            return true;
        }
        return Symmetric(root->left,root->right);    
    }
    bool Symmetric(struct TreeNode *left,struct TreeNode *right)
    {
        
        if (left == NULL && right == NULL)
        {
            return true;
        }
        if (left == NULL  ||  right == NULL)
        {
            return false;
        }
        if ( left->val != right->val)
        {
            return false;
        }
        
        return Symmetric(left->left,right->right) && Symmetric(left->right,right->left);
    
    }
  • 相关阅读:
    Graphic
    GUI编程实战
    Swing 混合布局
    运算符与数据库函数
    mysq基础操作
    mysql常见问题处理
    static 与final abstract关键字
    JAVA面试
    Swing
    AWT的应用
  • 原文地址:https://www.cnblogs.com/flashBoxer/p/9484656.html
Copyright © 2020-2023  润新知