您的位置:首页 > 娱乐 > 八卦 > 教育培训机构设计图_青岛网站建设设计_周口网站建设公司_百度seo排名公司

教育培训机构设计图_青岛网站建设设计_周口网站建设公司_百度seo排名公司

2025/2/24 19:12:52 来源:https://blog.csdn.net/qq_57349657/article/details/144010411  浏览:    关键词:教育培训机构设计图_青岛网站建设设计_周口网站建设公司_百度seo排名公司
教育培训机构设计图_青岛网站建设设计_周口网站建设公司_百度seo排名公司

题目

请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 

如果有两棵二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。

如果给定的两个根结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false 。

思路:在深度优先搜索的过程中,我们总是先搜索当前节点的左子节点,再搜索当前节点的右子节点。如果我们搜索到一个叶节点,就将它的值放入序列中。

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public boolean leafSimilar(TreeNode root1, TreeNode root2) {List<Integer> seq1 = new ArrayList<>();if (root1 != null)dfs(seq1, root1);List<Integer> seq2 = new ArrayList<>();if (root2 != null)dfs(seq2, root2);return seq1.equals(seq2);}private void dfs(List<Integer> seq, TreeNode root) {if (root.left == null && root.right == null) {seq.add(root.val);} else {if (root.left != null)dfs(seq, root.left);if (root.right != null)dfs(seq, root.right);}}
}

性能

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com