• LeetCode(1) Symmetric Tree


    从简单的道题目開始刷题目:

    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

    题目分析:

    第一道题目简单的题目,主要利用递归方法,保存左右两个结点。对于LeftNode结点和RightNode结点,推断LeftNode的左结点和RightNode的右结点和LeftNode的右结点和RightNode的左结点是否相等就可以,仅仅要有不相等就能够结束。跳出递归。


    代码:

    /**
     * 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 check(TreeNode *leftNode,TreeNode *rightNode)
        {
            if(leftNode == NULL && rightNode == NULL)
                return true;
            if(leftNode == NULL ||rightNode ==NULL)
                return false;
            if(leftNode ->val != rightNode->val)
                return false;
            
            return  check(leftNode->left,rightNode->right) && check(leftNode->right,rightNode->left);
            
        }
        
        bool isSymmetric(TreeNode *root) {
            
            if(root == NULL)
            return true;
            return check(root->left,root->right);
        }
    };

  • 相关阅读:
    作业
    Day2
    Day1
    让Antd 的Modal 可以拖动
    JS日期处理——月末、季度末
    前端常见问题收录
    前端面试题收录
    使用ES6 Set类型 数组去重
    小程序开发:用Taro搭建框架
    JS 树形结构与数组结构相互转换、在树形结构中查找对象
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6953280.html
Copyright © 2020-2023  润新知