zoukankan      html  css  js  c++  java
  • 【easy】101. Symmetric Tree

    判断一棵二叉树是否对称

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    //前序遍历==对称前序遍历
    class Solution {
    public:
        bool isSymmetric(TreeNode* root) {
            return isSymmetric(root,root);
        }
        
        bool isSymmetric(TreeNode* pRoot1,TreeNode* pRoot2){
            if (pRoot1 == NULL && pRoot2 == NULL)
                return true;
            if (pRoot1 == NULL || pRoot2 == NULL)
                return false;
            if (pRoot1->val != pRoot2->val)
                return false;
            return isSymmetric(pRoot1->left, pRoot2->right) && isSymmetric(pRoot2->left, pRoot1->right);
        }
    };
    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    //前序遍历==对称前序遍历
    class Solution {
    public:
        bool isSymmetric(TreeNode* root) {
            return isSymmetric(root,root);
        }
        
        bool isSymmetric(TreeNode* pRoot1,TreeNode* pRoot2){
            if (pRoot1 == NULL && pRoot2 == NULL)
                return true;
            if (pRoot1 == NULL || pRoot2 == NULL)
                return false;
            if (pRoot1->val != pRoot2->val)
                return false;
            return isSymmetric(pRoot1->left, pRoot2->right) && isSymmetric(pRoot2->left, pRoot1->right);
        }
    };
  • 相关阅读:
    任务18格式化
    任务17分区
    任务16 BIOS与CMOS
    任务15硬件组装过程说明
    任务14选配机箱
    任务13选配电源
    任务12选配显卡
    任务11选配机械硬盘
    任务10选配固态硬盘
    Android自定义控件:动画类(八)----ObjectAnimator基本使用
  • 原文地址:https://www.cnblogs.com/sherry-yang/p/8445671.html
Copyright © 2011-2022 走看看