Leaf-Similar Trees
Posted hygeia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leaf-Similar Trees相关的知识,希望对你有一定的参考价值。
Consider all the leaves of a binary tree. From left to right order, the values of those leaves form a leaf value sequence.
For example, in the given tree above, the leaf value sequence is (6, 7, 4, 9, 8)
.
Two binary trees are considered leaf-similar if their leaf value sequence is the same.
Return true
if and only if the two given trees with head nodes root1
and root2
are leaf-similar.
Note:
- Both of the given trees will have between
1
and100
nodes.
这题需要注意的是树的形态可以不同,只要leave相同即可。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { ArrayList<Integer> list1 = new ArrayList<Integer>(); ArrayList<Integer> list2 = new ArrayList<Integer>(); public boolean leafSimilar(TreeNode root1, TreeNode root2) { getLeaves(root1,list1); getLeaves(root2,list2); if(list1.size()!=list2.size()) return false; for(int i=0;i<list1.size();i++) { if(list1.get(i)!=list2.get(i)) return false; } return true; } public void getLeaves(TreeNode node, ArrayList<Integer> list) { if(node.left==null&&node.right==null) list.add(node.val); if(node.left!=null) getLeaves(node.left, list); if(node.right!=null) getLeaves(node.right,list); } }
以上是关于Leaf-Similar Trees的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 872 Leaf-Similar Trees 解题报告
[LeetCode] 872. Leaf-Similar Trees