Re: [閒聊] 每日LeetCode已回收
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
推
12/08 10:40,
3年前
, 1F
12/08 10:40, 1F
推
12/08 10:40,
3年前
, 2F
12/08 10:40, 2F
推
12/08 10:47,
3年前
, 3F
12/08 10:47, 3F
推
12/08 11:17,
3年前
, 4F
12/08 11:17, 4F
討論串 (同標題文章)
完整討論串 (本文為第 130 之 719 篇):