zoukankan      html  css  js  c++  java
  • LC.100.Same Tree

    https://leetcode.com/problems/same-tree/description/
    Given two binary trees, write a function to check if they are the same or not.

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


    Example 1:

    Input: 1 1
    / /
    2 3 2 3

    [1,2,3], [1,2,3]

    Output: true
    Example 2:

    Input: 1 1
    /
    2 2

    [1,2], [1,null,2]

    Output: false
    Example 3:

    Input: 1 1
    / /
    2 1 1 2

    [1,2,1], [1,1,2]

    Output: false
    pre-order 第一次碰见就要“打印”(PRE) 而不是饶了一圈回来再打印(POST)
    这道题要一起走
    time: o(n)
    space: o(n)

     1 public boolean isSameTree(TreeNode p, TreeNode q) {
     2         //corner cases
     3         if (p == null && q ==null) return true;
     4         else if(p == null&& q!=null ) return false;
     5         else if (p != null && q == null) return false ;
     6         /*
     7             上面两句可以简化成
     8             if(p == null || q == null)
     9         * */
    10         //先打印: 当前点不满足就直接往上面反弹 不用往下走了
    11         if (p !=null && q!=null){
    12             if (p.val != q.val) return false ;
    13         }
    14         //往下走
    15         boolean leftCheck = isSameTree(p.left, q.left);
    16         boolean rightCheck = isSameTree(p.right, q.right);
    17         //下面的回来了,综合下 左边满足,右边也满足,当前也满足
    18         return leftCheck && rightCheck && p.val ==q.val ;
    19     }



  • 相关阅读:
    Java不带.classpath的svn项目下载,转成到eclipse中
    eclipse 实用快捷键(最全)
    加密算法IV的作用
    Hadoop环境常用命令
    Centos网络配置
    apache指定的网络名不再可用
    Toritoisegit记住用户名密码
    用JavaScript修改CSS属性的代码
    div 旋转
    过滤器、监听器、拦截器的区别
  • 原文地址:https://www.cnblogs.com/davidnyc/p/8486333.html
Copyright © 2011-2022 走看看