# 叶子相似的树 请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个叶值序列。 ## 示例 举个例子,如上图所示,给定一颗叶值序列为`(6, 7, 4, 9, 8)`的树。 如果有两颗二叉树的叶值序列是相同,那么我们就认为它们是叶相似的。 如果给定的两个头结点分别为`root1`和`root2`的树是叶相似的,则返回`true`;否则返回`false` 。 ## 题解 ```javascript /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode} root1 * @param {TreeNode} root2 * @return {boolean} */ var leafSimilar = function(root1, root2) { var dfs = function(root, target) { if(!root) return ; if(!root.left && !root.right) { target.push(root.val); return ; } if(root.left) dfs(root.left, target); if(root.right) dfs(root.right, target); } var target1 = []; var target2 = []; dfs(root1, target1); dfs(root2, target2); var n1 = target1.length; var n2 = target2.length; if(n1 !== n2) return false; for(let i=0;i