• Same Tree leetcode java


    题目

    Given two binary trees, write a function to check if they are equal or not.

    Two binary trees are considered equal if they are structurally identical and the nodes have the same value.

    题解

    递归判断左右是否相等。

    代码如下:

     1     public boolean isSameTree(TreeNode p, TreeNode q) {
     2         if(p==null&&q==null)
     3             return true;
     4         
     5         if(p==null&&q!=null)
     6             return false;
     7         
     8         if(p!=null&&q==null)
     9             return false;
    10             
    11         if(p.val!=q.val)
    12             return false;
    13         boolean isleftsame = isSameTree(p.left,q.left);
    14         if(!isleftsame)
    15             return false;
    16             
    17         boolean isrightsame = isSameTree(p.right,q.right);
    18         if(!isrightsame)
    19             return false;
    20         
    21         return true;
    22         
    23     }

     对上述代码更简洁的写法是:

    1     public boolean isSameTree(TreeNode p, TreeNode q) {
    2         if(p == null&&q == null)
    3             return true;
    4         if(p == null||q == null)
    5             return false;
    6         return (p.val == q.val) && isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
    7     }

  • 相关阅读:
    python学习笔记-4-列表和元组
    迭代器 生成器, 可迭代对象以及应用场景
    mysql的创创建用户阶段 开启客户端登录和授权阶段
    初识mysql数据库
    拆目录
    日志编码
    数据库mysql的安装.启动和基础配置------windows版本
    协程
    线程锁 死锁现象 递归锁 信号量 条件定时器 队列 线程池
    网络线程
  • 原文地址:https://www.cnblogs.com/springfor/p/3879575.html
Copyright © 2020-2023  润新知