zoukankan      html  css  js  c++  java
  • 程序员面试金典--对称的二叉树

    程序员面试金典--对称的二叉树

    题目描述

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

    解释: 左子树的左 对应 右子树的右, 左子树的右 对应 右子树的左。 

    /*
    struct TreeNode {
        int val;
        struct TreeNode *left;
        struct TreeNode *right;
        TreeNode(int x) :
                val(x), left(NULL), right(NULL) {
        }
    };
    */
    class Solution {
    public:
        bool Judge(TreeNode *lf, TreeNode *rg){
            if(lf == NULL && rg == NULL){
                return true; 
            }else if(lf == NULL || rg == NULL){
                return false; 
            }
            if(lf->val != rg->val){
                return false; 
            }
            return Judge(lf->left, rg->right) && Judge(lf->right, rg->left); 
        }
        bool isSymmetrical(TreeNode* pRoot)
        {
            if(pRoot == NULL){
                return true; 
            }else if(pRoot->left == NULL && pRoot->right==NULL){
                return true; 
            }
            return Judge(pRoot->left, pRoot->right); 
        }
    
    };
    

      

  • 相关阅读:
    dubbo
    常见线程池
    面试之葵花宝典
    Java线程池
    DB2分页
    平凡
    自由职业一时爽,一直自由一直爽
    弱水三千,只取一瓢。
    没病到一定程度,你千万别去。
    一个转身一个轮回
  • 原文地址:https://www.cnblogs.com/zhang-yd/p/7285366.html
Copyright © 2011-2022 走看看