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     }

  • 相关阅读:
    android笔记:ListView及ArrayAdapter
    android示例:一个简单的登陆程序
    Android笔记:RelativeLayout
    Android笔记:ContextMenu
    java swing示例
    java多线程与并发笔记
    java常用代码
    java学习笔记整理
    Android笔记:intent
    Android笔记:Button
  • 原文地址:https://www.cnblogs.com/springfor/p/3879575.html
Copyright © 2011-2022 走看看