HashMap原始碼分析 保姆式教程 三
阿新 • • 發佈:2021-01-13
如果有兩棵二叉樹的葉值序列是相同,那麼我們就認為它們是 葉相似 的。
如果給定的兩個頭結點分別為 root1 和 root2 的樹是葉相似的,則返回 true;否則返回 false
public boolean leafSimilar(TreeNode root1, TreeNode root2) { List<Integer> leaves1 = new ArrayList(); List<Integer> leaves2 = new ArrayList(); dfs(root1, leaves1); dfs(root2, leaves2); return leaves1.equals(leaves2); } public void dfs(TreeNode node, List<Integer> leafValues) { if (node != null) { if (node.left == null && node.right == null) leafValues.add(node.val); dfs(node.left, leafValues); dfs(node.right, leafValues); } }