zoukankan      html  css  js  c++  java
  • [leetcode]100. Same Tree相同的树

    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

    题意:

    给定两个树,判断两个数是否相同

    Solution1:  DFS  (Code will be neat and simple)

    code

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

    Solution2:  Iteration(Using a stack or a queue to simulate how DFS works)

    code

     1 class Solution {
     2     public boolean isSameTree(TreeNode p, TreeNode q) {
     3         Queue<TreeNode> queue = new LinkedList<>();
     4         
     5         queue.add(p);
     6         queue.add(q);
     7         
     8         while(!queue.isEmpty()){
     9             TreeNode node1 = queue.remove();
    10             TreeNode node2 = queue.remove();      
    11             
    12             if(node1==null && node2 ==null) continue;
    13             if(node1==null || node2==null) return false;
    14             if(node1.val != node2.val)  return false;
    15             
    16             queue.add(node1.left);
    17             queue.add(node2.left);
    18             
    19             queue.add(node1.right);
    20             queue.add(node2.right);
    21         }
    22         return true;
    23     }
    24 }
  • 相关阅读:
    Git/GitHub使用技巧
    《暗时间》第一遍读书心得整理
    学习方法摘要总结
    Py爬虫项目
    2018年6月12日
    狐狸坑蛋糕
    Codeforces 371C Hanburgers
    【别忘咯】 关于运算优先级
    【noip 2009】 乌龟棋 记忆化搜索&动规
    【Openjudge】 算24
  • 原文地址:https://www.cnblogs.com/liuliu5151/p/10731595.html
Copyright © 2011-2022 走看看