求两个树的叶节点形成的队列是否相同,递归遍历,用list存储,比较是否相同。
class Solution {
public boolean leafSimilar(TreeNode root1, TreeNode root2) {
List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
order(root1,list1);
order(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 order(TreeNode root,List<Integer> list){
if(root==null) return;
order(root.left,list);
if(root.left==null&&root.right==null){
list.add(root.val);
}
order(root.right,list);
}
}