来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/leaf-similar-trees 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。
解答
因为最叶子节点可能不在同一层,需要 前序遍历 来从左往右收集
/*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val = (val===undefined ? 0 : val)* this.left = (left===undefined ? null : left)* this.right = (right===undefined ? null : right)* }*//*** @param {TreeNode} root1* @param {TreeNode} root2* @return {boolean}*/var leafSimilar = function(root1, root2) {let root1Leafs = [],root2Leafs = [];dns(root1, root1Leafs);dns(root2, root2Leafs);return root1Leafs.toString() === root2Leafs.toString();};function dns (node, leafs) {if (!node) return;if (!node.left && !node.right) {leafs.push(node.val);}dns(node.left, leafs);dns(node.right, leafs);}
