zoukankan      html  css  js  c++  java
  • 【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);
    
    }
  • 相关阅读:
    ZOJ 2770 Burn the Linked Camp 差分约束
    作业04 一个简单的扑克牌游戏
    C++友元
    ZOJ 3645高斯消元
    CodeForces 55D 数位统计
    03类的设计和使用
    HDU 4522
    POJ 2559单调栈
    PL/SQL REPORT 开发模拟登陆
    修改报表心得
  • 原文地址:https://www.cnblogs.com/flashBoxer/p/9484656.html
Copyright © 2011-2022 走看看