• Symmetric Tree


    Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

    For example, this binary tree is symmetric:

        1
       / 
      2   2
     /  / 
    3  4 4  3
    

    But the following is not:

        1
       / 
      2   2
          
       3    3
    

    Note:
    Bonus points if you could solve it both recursively and iteratively.

    confused what "{1,#,2,3}" means? > read more on how binary tree is serialized on OJ.

    两个函数,一个是判断相等,一个是交换左右子树

    /**
     * Definition for binary tree
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        bool isEqual(TreeNode *root1, TreeNode *root2)
        {
            if(!root1&&!root2)
                return true;
            if(!root1||!root2)
                return false;
            if(!root1->left&&!root1->right&&!root2->left&&!root2->right&&root1->val==root2->val)
                return true;
            if(isEqual(root1->left, root2->left)&&isEqual(root1->right, root2->right)&&root1->val==root2->val)
                return true;
            return false;
        }
        void swapLeftRight(TreeNode *root)
        {
            if(NULL==root||(NULL==root->left&&NULL==root->right))return;
            swapLeftRight(root->left);
            swapLeftRight(root->right);
            TreeNode *temp = root->left;
            root->left = root->right;
            root->right = temp;
        }
    
        bool isSymmetric(TreeNode *root) {
            if(!root)
                return true;
            swapLeftRight(root->left);
            if(isEqual(root->left,root->right))
                return true;
            return false;
        }
    };


    每天早上叫醒你的不是闹钟,而是心中的梦~
  • 相关阅读:
    项目上线前的优化
    vue项目打包上线流程以及遇到的问题
    js放大镜
    vue中mixins(混入)的使用
    vue中的provide和inject (依赖注入)
    Vue Virtual Dom 和 Diff原理
    vue 过滤器
    vue自定义指令的使用场景
    php---前后端分离跨域问题的解决
    PHP---for、while、foreach性能比较
  • 原文地址:https://www.cnblogs.com/vintion/p/4116906.html
Copyright © 2020-2023  润新知