zoukankan      html  css  js  c++  java
  • 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     }

  • 相关阅读:
    古人诗词之王安石
    关于周期函数的命题
    Strum—Lioville问题
    计算反常积分
    【面积原理】计算级数和
    【洛谷P6046】纯粹容器
    【洛谷P3631】方格染色
    【牛客挑战赛48 E】速度即转发
    【CF103D】Time to Raid Cowavans
    【洛谷P4280】逆序对
  • 原文地址:https://www.cnblogs.com/springfor/p/3879575.html
Copyright © 2011-2022 走看看