LeetCode 572. 另一个树的子树(Subtree of Another Tree) 40
Posted hglibin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 572. 另一个树的子树(Subtree of Another Tree) 40相关的知识,希望对你有一定的参考价值。
572. 另一个树的子树
572. Subtree of Another Tree
题目描述
给定两个非空二叉树 s 和 t,检验?s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。
每日一算法2019/6/12Day 40LeetCode572. Subtree of Another Tree
示例 1:
给定的树 s:
3
/ 4 5
/ 1 2
给定的树 t:
4
/ 1 2
返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。
示例 2:
给定的树 s:
3
/ 4 5
/ 1 2
/
0
给定的树 t:
4
/ 1 2
返回 false。
Java 实现
TreeNode Class
public class TreeNode
int val;
TreeNode left;
TreeNode right;
TreeNode(int x)
val = x;
class Solution
public boolean isSubtree(TreeNode s, TreeNode t)
if (s == null)
return false;
if (isSame(s, t))
return true;
return isSubtree(s.left, t) || isSubtree(s.right, t);
public boolean isSame(TreeNode s, TreeNode t)
if (s == null && t == null)
return true;
if (s == null || t == null)
return false;
if (s.val != t.val)
return false;
return isSame(s.left, t.left) && isSame(s.right, t.right);
相似题目
参考资料
- https://leetcode.com/problems/subtree-of-another-tree/solution/
- https://leetcode-cn.com/problems/subtree-of-another-tree/
以上是关于LeetCode 572. 另一个树的子树(Subtree of Another Tree) 40的主要内容,如果未能解决你的问题,请参考以下文章