question: public TreeNode deserialize ( String data ) { Deque < String > nodes = new LinkedList < > ( ) ; nodes . addAll ( Arrays . asList ( data . split ( SPLITER ) ) ) ; return buildTree ( nodes ) ; }
target:  Recursive. Same as pre-order traversal. Split data and create a queue of string values first. Each time, poll a node from the queue, create the current root. Then build left and right subtree recursively.