zoukankan      html  css  js  c++  java
  • 572. Subtree of Another Tree

     

    Given two non-empty binary trees s and t, check whether tree t has exactly the same structure and node values with a subtree of s. A subtree of s is a tree consists of a node in s and all of this node's descendants. The tree s could also be considered as a subtree of itself.

    Example 1:
    Given tree s:

         3
        / 
       4   5
      / 
     1   2
    
    Given tree t:
       4 
      / 
     1   2
    
    Return true, because t has the same structure and node values with a subtree of s.

    Example 2:
    Given tree s:

         3
        / 
       4   5
      / 
     1   2
        /
       0
    
    Given tree t:
       4
      / 
     1   2
    
    Return false.
     
      思路: 
    1  写一个判断树是否相同的函数
    2 递归的判断当前树节点是否相同。
     
     1 class Solution {
     2     public boolean isSubtree(TreeNode s, TreeNode t) {
     3         if(s == null) return false;
     4         if(isSame(s,t)) return true;
     5         return isSubtree(s.left,t) || isSubtree(s.right,t);
     6     }
     7     public boolean isSame(TreeNode s, TreeNode t) {
     8         if(s == null && t == null) return true;
     9         if(s == null || t == null) return false;
    10         
    11         if(s.val != t.val) return false;
    12         
    13         return isSame(s.left,t.left)  && isSame(s.right,t.right); 
    14         
    15     }
    16 }
  • 相关阅读:
    String和StringBuffer相关
    ReactNative 2018了解一下
    发送验证码倒计时效果
    图片实际尺寸大小
    ES6(一)
    组件开发之选项卡-2
    (function(){代码})()自执行函数
    Vue组件学习之三
    Vue下拉菜单实例demo
    窗口大小左右拖动demo
  • 原文地址:https://www.cnblogs.com/zle1992/p/7741556.html
Copyright © 2011-2022 走看看