题目描述
给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。
示例 1:
给定的树 s:
3
/ \
4 5
/ \
1 2
给定的树 t:
4
/ \
1 2
返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。
解题思路
双层递归
1、对节点、左节点、右节点 都对t进行递归,只要有一个成立即成功 ||
2、对两树的对比进行递归,root节点进行对比 空、值对比,然后再进行左右递归,所有节点都相同,且数量相同才能返回true, &&
语言积累和技巧
想通了就很简单,分别进行处理
在处理根节点和左右节点关系的时候,要考虑清楚,用||和&&来处理,代码简洁明了
代码链接
https://github.com/lunaDolphi...
https://github.com/lunaDolphi...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。