精華區beta Marginalman 關於我們 聯絡資訊
872. Leaf-Similar Trees 給你兩個樹,如果該兩個樹從左邊看到右邊的所有葉子節點都相等就返回true否則false https://assets.leetcode.com/uploads/2020/09/03/leaf-similar-1.jpg
Input: 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] Output: true 思路: 1.分別前序走訪該兩個樹,如果訪問的node是葉子節點就加入List 2.比較兩個List是否相等。 JavaCode: -------------------------------------- class Solution { public boolean leafSimilar(TreeNode root1, TreeNode root2) { List<Integer> list1 = new ArrayList<>(); dfs(root1, list1); List<Integer> list2 = new ArrayList<>(); dfs(root2, list2); return list1.equals(list2); } private void dfs(TreeNode root, List<Integer> list) { if (root == null) { return; } if (root.left == null && root.right == null) { list.add(root.val); } dfs(root.left, list); dfs(root.right, list); } } -------------------------------------- -- https://i.imgur.com/tdaniED.jpg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.74.170 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1670467184.A.3D1.html
pandix: 大師 12/08 10:40
sustainer123: 大師 12/08 10:40
louiss72: ㄉㄚㄕˉ 12/08 10:47
SecondRun: 大師 12/08 11:17