override toString() function for TreeNode to output OJ's Binary Tree Serialization
3336 ワード
1 class TreeNode {
2 int val;
3 TreeNode left;
4 TreeNode right;
5 TreeNode(int x) { val = x; }
6
7 @Override
8 public String toString(){
9 if(this == null) return "";
10 StringBuilder sb = new StringBuilder();
11 LinkedList<TreeNode> queue = new LinkedList<TreeNode>();
12 queue.add(this);
13 sb.append(val + ",");
14 while(!queue.isEmpty()){
15 TreeNode tmp = queue.poll();
16 sb.append((tmp.left == null ? "#" : tmp.left.val) + ",");
17 sb.append((tmp.right == null ? "#" : tmp.right.val) + ",");
18 if(tmp.left != null) queue.add(tmp.left);
19 if(tmp.right != null) queue.add(tmp.right);
20 }
21 return sb.toString();
22
23 }
24 }