Leaf-Similar Trees
比较两棵树的叶子顺序是不是一样. 这个就是traverse一下, 然后比较.
class Solution {
public boolean leafSimilar(TreeNode root1, TreeNode root2) {
List<Integer> l1 = new ArrayList<Integer>();
List<Integer> l2 = new ArrayList<Integer>();
find(root1, l1);
find(root2, l2);
if(l1.size() != l2.size())
return false;
int size = l1.size();
for(int i = 0 ; i < size; i++) {
if(l1.get(i) != l2.get(i))
return false;
}
return true;
}
private void find(TreeNode root, List<Integer> list) {
if(root == null)
return;
find(root.left,list);
if(root.left == null && root.right == null)
list.add(root.val);
find(root.right,list);
}
}