• Leetcode101. 对称二叉树


    题目传送: https://leetcode.cn/problems/symmetric-tree/submissions/

    运行效率
    在这里插入图片描述

    代码如下

    public boolean isSymmetric(TreeNode root) {
        // 原理: 判断二叉树是否是对称,需要从子节点开始比较,两个子节点的值必须相同,
        // 并且左子节点的右子节点(如果有)必须等于右子节点的左子节点,左子节点的左子节点必须等于右子节点的右子节点
    
        // 处理边界情况
        if (root == null) {
          return true;
        }
        //如果是叶子节点
        if (root.left == null && root.right == null) {
          return true;
        }
        return sysmmetricHelper(root.left,root.right);
      }
    
      public boolean sysmmetricHelper(TreeNode node, TreeNode node1) {
        //如果两个节点都是null
        if (node == null && node1 == null) {
          return true;
        }
        //如果两个节点中有一个是null,另一个不是null
        if (node == null || node1 == null) {
          return false;
        }
        //如果两个节点都不为null,  但是两个节点的值不相等
        if(node.val!=node1.val){
          return false;
        }
        //原理: 判断二叉树是否是对称,需要从子节点开始比较,两个子节点的值必须相同,
        // 并且左子节点的右子节点(如果有)必须等于右子节点的左子节点,左子节点的左子节点必须等于右子节点的右子节点
        boolean a = sysmmetricHelper(node.left, node1.right);
        boolean b = sysmmetricHelper(node.right, node1.left);
        return a && b;
      }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
  • 相关阅读:
    SVN服务器迁移-Windows
    ES6相关语法规范
    Numpy学习
    技术面试与HR面:两者之间的关联与区别
    Python Opencv实践 - HoG特征计算
    揭秘 Task.Wait
    Java SPI(Service Provider Interface)
    文本分词2.0
    jwt以及加密完善博客系统
    system verilog 处理子进程(关闭/等待/跳转)
  • 原文地址:https://blog.csdn.net/qq_40241957/article/details/126561865