判断一棵树是否为另一棵树的子树
发布时间
阅读量:
阅读量
设定s为大树,t为小树。对于两个非空的二叉树s与t,需判断s中是否存在与t在结构及节点值方面完全一致的子树。此处所指的子树包含s中的某节点及其所有后代节点。同时,s本身也可视为其自身的子树。
题目链接:https://leetcode-cn.com/problems/subtree-of-another-tree/
解题思路:
- 若两棵树均为空,则判定结果为真
- 当其中一棵为空而另一棵不为空时,则判定结果为假
- 若两棵树均不为空
a)首先验证根节点的值是否一致,若一致,则进一步判断s与t是否为结构相同的树
b)递归判断t是否被包含于s的左子树之中
c)递归判断t是否被包含于s的右子树之中。
具体实现代码
/** * Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
//判断是否相等的方法
public boolean
全部评论 (0)
还没有任何评论哟~
