zoukankan      html  css  js  c++  java
  • 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  * Definition for a binary tree node.
     3  * public class TreeNode {
     4  *     int val;
     5  *     TreeNode left;
     6  *     TreeNode right;
     7  *     TreeNode(int x) { val = x; }
     8  * }
     9  */
    10 public class Solution {
    11     public boolean isSubtree(TreeNode s, TreeNode t) {
    12         if (s == null) return false;
    13         
    14         if (isSame(s, t)) return true;
    15         return isSubtree(s.left, t) || isSubtree(s.right, t);
    16     }
    17     
    18     private boolean isSame(TreeNode s, TreeNode t) {
    19         if (s == null && t == null) return true;
    20         if (s == null || t == null) return false;
    21         
    22         return s.val == t.val &&
    23                isSame(s.left, t.left) &&
    24                isSame(s.right, t.right);
    25     }
    26 }
  • 相关阅读:
    sb世博
    seo 工具集锦
    各种Windows 操作系统中的 .NET Framework 支持
    httplib2模拟登陆
    python tips
    B2C电子商务能否通吃线上线下?
    复制镜像
    Scale Stack vs node.js vs Twisted vs Eventlet
    pool=eventlet.GreenPool(20)
    nginx最新部署
  • 原文地址:https://www.cnblogs.com/amazingzoe/p/6889387.html
Copyright © 2011-2022 走看看