Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    1028 - Recover a Tree From Preorder Traversal.

    Hard

    We run a preorder depth-first search (DFS) on the root of a binary tree.

    At each node in this traversal, we output D dashes (where D is the depth of this node), then we output the value of this node. If the depth of a node is D, the depth of its immediate child is D + 1. The depth of the root node is 0.

    If a node has only one child, that child is guaranteed to be the left child.

    Given the output traversal of this traversal, recover the tree and return its root.

    Example 1:

    Input: traversal = "1-2--3--4-5--6--7"

    Output: 1,2,5,3,4,6,7

    Example 2:

    Input: traversal = "1-2--3---4-5--6---7"

    Output: 1,2,5,3,null,6,null,4,null,7

    Example 3:

    Input: traversal = "1-401--349---90--88"

    Output: 1,401,null,349,88,90

    Constraints:

    • The number of nodes in the original tree is in the range [1, 1000].

    • <code>1 <= Node.val <= 10<sup>9</sup></code>

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final TreeNode recoverFromPreorder(String traversal)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait