java.lang.Object
g0601_0700.s0652_find_duplicate_subtrees.Solution

public class Solution extends java.lang.Object
652 - Find Duplicate Subtrees.

Medium

Given the root of a binary tree, return all duplicate subtrees.

For each kind of duplicate subtrees, you only need to return the root node of any one of them.

Two trees are duplicate if they have the same structure with the same node values.

Example 1:

Input: root = [1,2,3,4,null,2,4,null,null,4]

Output: [[2,4],[4]]

Example 2:

Input: root = [2,1,1]

Output: 1

Example 3:

Input: root = [2,2,2,3,null,3,null]

Output: [[2,3],[3]]

Constraints:

  • The number of the nodes in the tree will be in the range [1, 10^4]
  • -200 <= Node.val <= 200
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    java.util.List<TreeNode>
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • findDuplicateSubtrees

      public java.util.List<TreeNode> findDuplicateSubtrees(TreeNode root)