Skip to content

Commit 299de95

Browse files
committed
Runtime: 1 ms (Top 100.00%) | Memory: 43.8 MB (Top 78.96%)
1 parent 8ea94d3 commit 299de95

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,40 @@
1+
// Runtime: 1 ms (Top 100.00%) | Memory: 43.8 MB (Top 78.96%)
12
class Solution {
23
public List<List<String>> printTree(TreeNode root) {
34
List<List<String>> res = new ArrayList();
4-
5+
56
int height = getHeight(root);
67
int row = height + 1;
78
int column = (int) Math.pow(2, height+1) - 1;
8-
9+
910
for(int k=0; k<row; k++){
1011
List<String> list = new ArrayList();
1112
for(int i=0; i<column; i++){
1213
list.add("");
1314
}
1415
res.add(list);
1516
}
16-
17+
1718
int left = 0;
1819
int right = column-1;
1920
int level=0;
2021
print(res, left, right, level, root);
21-
22+
2223
return res;
2324
}
2425
public void print(List<List<String>> res, int left, int right, int level, TreeNode root){
2526
if(root == null) return;
2627
int mid = left+(right-left)/2;
2728
res.get(level).set(mid, String.valueOf(root.val));
28-
29+
2930
print(res, left, mid-1, level+1, root.left);
3031
print(res, mid+1, right, level+1, root.right);
3132
}
3233
public int getHeight(TreeNode root){
3334
if (root==null) return -1;
3435
int left = getHeight(root.left);
3536
int right = getHeight(root.right);
36-
37+
3738
return Math.max(left, right)+1;
3839
}
39-
}
40+
}

0 commit comments

Comments
 (0)