Class Solution

java.lang.Object
g0601_0700.s0655_print_binary_tree.Solution

public class Solution extends java.lang.Object
655 - Print Binary Tree.

Medium

Given the root of a binary tree, construct a 0-indexed m x n string matrix res that represents a formatted layout of the tree. The formatted layout matrix should be constructed using the following rules:

  • The height of the tree is height and the number of rows m should be equal to height + 1.
  • The number of columns n should be equal to 2height+1 - 1.
  • Place the root node in the middle of the top row (more formally, at location res[0][(n-1)/2]).
  • For each node that has been placed in the matrix at position res[r][c], place its left child at res[r+1][c-2<sup>height-r-1</sup>] and its right child at res[r+1][c+2<sup>height-r-1</sup>].
  • Continue this process until all the nodes in the tree have been placed.
  • Any empty cells should contain the empty string "".

Return the constructed matrix res.

Example 1:

Input: root = [1,2]

Output: [[““,“1”,””], [“2”,““,””]]

Example 2:

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

Output: [[““,””,““,“1”,””,““,””], [““,“2”,””,““,””,“3”,""], [““,””,“4”,““,””,““,””]]

Constraints:

  • The number of nodes in the tree is in the range [1, 210].
  • -99 <= Node.val <= 99
  • The depth of the tree will be in the range [1, 10].
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    java.util.List<java.util.List<java.lang.String>>
     

    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

    • printTree

      public java.util.List<java.util.List<java.lang.String>> printTree(TreeNode root)