力扣经典题目之->另一颗树的子树(subRoot是否是root的子树)
一:题目
本题需要用到力扣经典题目之->相同的树(递归判断两颗二叉树是否相同)-CSDN博客 中的isSameTree,直接cv即可。
二:代码
三:解释
第一个函数:
力扣经典题目之->相同的树(递归判断两颗二叉树是否相同)-CSDN博客z
这里再解释一次:
- 如果两个树都是空的,那么它们是相同的,返回
true
。 - 如果其中一个树是空的,而另一个不是,那么它们不相同,返回
false
。 - 如果两个树的当前节点值不同,那么它们不相同,返回
false
。 - 如果当前节点相同,递归地比较左子树和右子树是否相同。
第二个函数:
- 如果
root
是空的,说明已经遍历到了叶子节点,还没有找到与subRoot
相同的子树,返回false
。
- 如果
root
的当前节点值与subRoot
的根节点值相同,调用isSameTree
来判断从root
开始的子树是否与subRoot
相同。 - 如果从当前
root
开始的子树与subRoot
相同,返回true
。
- 如果不相同,递归地在
root
的左子树和右子树中查找subRoot
。
四:递归展开图
左:
右: