• 对称的二叉树


    请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

    c++:

     1 /*
     2 struct TreeNode {
     3     int val;
     4     struct TreeNode *left;
     5     struct TreeNode *right;
     6     TreeNode(int x) :
     7             val(x), left(NULL), right(NULL) {
     8     }
     9 };
    10 */
    11 class Solution {
    12 public:
    13     bool isSymmetrical(TreeNode* pRoot)
    14     {
    15         if (pRoot == NULL)
    16             return true ;
    17         return isSymmetrical(pRoot->left , pRoot->right) ;
    18     }
    19     
    20     bool isSymmetrical(TreeNode* t1 , TreeNode* t2){
    21         if (t1 == NULL && t2 == NULL)
    22             return true ;
    23         if (t1 == NULL || t2 == NULL)
    24             return false ;
    25         if (t1->val != t2->val)
    26             return false ;
    27         return isSymmetrical(t1->left , t2->right) && isSymmetrical(t1->right , t2->left);
    28     }
    29     
    30     
    31 
    32 };
  • 相关阅读:
    BASIC-2 01字串
    BASIC-1 闰年判断
    BASIC-11 十六进制转十进制
    IO流之File类
    集合-下
    集合-上
    java常用类-下
    关于String的一些基础小题目
    java常用类-上
    异常
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/10722252.html
Copyright © 2020-2023  润新知