叶子相似的树
力扣 872. 叶子相似的树
题目说明
请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。
举个例子,如上图所示,给定一棵叶值序列为
(6, 7, 4, 9, 8)的树。如果有两棵二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。
如果给定的两个根结点分别为
root1和root2的树是叶相似的,则返回true;否则返回false。提示:
- 给定的两棵树可能会有
1到200个结点。 - 给定的两棵树上的值介于
0到200之间。
- 给定的两棵树可能会有
示例
示例 1:
1 | 输入:root1 = [3,5,1,6,2,9,8,null,null,7,4], root2 = [3,5,1,6,7,4,2,null,null,null,null,null,null,9,8] |
示例 2:
1 | 输入:root1 = [1], root2 = [1] |
示例 3:
1 | 输入:root1 = [1], root2 = [2] |
示例 4:
1 | 输入:root1 = [1,2], root2 = [2,2] |
示例 5:
1 | 输入:root1 = [1,2,3], root2 = [1,3,2] |
笔者理解
此题是一道树算法问题,在力扣题库中被定义为简单题。
解法
当笔者阅读完此题后,发现此题用两个列表分别来存储两棵树的叶子节点即可,让我们来看看具体如何实现的吧。
实现
1 | /** |
时间和空间效率都还行,可见此解法还比较适合此题;
总结
本题是今天的每日一题,难度是为简单,感兴趣的朋友都可以去尝试一下,此题还有其他更多的解法,朋友们可以自己逐一尝试。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 徐年の博客!











