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 and 100 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的主要内容,如果未能解决你的问题,请参考以下文章

872. Leaf-Similar Trees

LeetCode 872 Leaf-Similar Trees 解题报告

[leetcode] Leaf-Similar Trees

[LeetCode] 872. Leaf-Similar Trees

Leetcode 872. Leaf-Similar Trees

[LeetCode] Leaf-Similar Trees 叶结点相似的树