回答編集履歴
2
コード編集
answer
CHANGED
@@ -18,20 +18,22 @@
|
|
18
18
|
public BNode setRight(BNode node) { right_ = node; node.parent_ = this; return node; }
|
19
19
|
public BNode setLeft(BNode node) { left_ = node; node.parent_ = this; return node; }
|
20
20
|
|
21
|
-
public
|
21
|
+
public String indent() { return parent_ == null ? "" : parent_.indent() + " "; }
|
22
|
-
System.out.println(name_);
|
23
|
-
if ( right() != null ) right().print(); }
|
24
22
|
|
23
|
+
public void print() { if ( left() != null ) { System.out.print(indent()); left().print(); }
|
24
|
+
System.out.print(indent()); System.out.println(name_);
|
25
|
+
if ( right() != null ) { System.out.print(indent()); right().print(); } }
|
26
|
+
|
25
27
|
public static void main(String[] args) {
|
26
28
|
BNode root = new BNode("root");
|
27
29
|
|
28
|
-
root.setLeft(new BNode("left") )
|
30
|
+
root.setLeft( new BNode("left") )
|
29
|
-
.setLeft( new BNode("left-left")
|
31
|
+
.setLeft( new BNode("left-left") )
|
30
32
|
.parent().setRight(new BNode("left-right"));
|
31
33
|
|
32
34
|
root.setRight(new BNode("right"))
|
33
|
-
|
35
|
+
.setRight(new BNode("right-right"))
|
34
|
-
.parent().setLeft( new BNode("right-left")
|
36
|
+
.parent().setLeft( new BNode("right-left"));
|
35
37
|
|
36
38
|
root.print();
|
37
39
|
}
|
1
コード修正
answer
CHANGED
@@ -5,16 +5,18 @@
|
|
5
5
|
こんなカンジなのかしら:
|
6
6
|
```Java
|
7
7
|
public class BNode {
|
8
|
-
private BNode
|
8
|
+
private BNode left_ = null;
|
9
9
|
private BNode right_ = null;
|
10
|
+
private BNode parent_ = null;
|
10
11
|
|
11
12
|
private String name_;
|
12
13
|
|
13
14
|
public BNode(String name) { name_ = name; }
|
14
|
-
public BNode right()
|
15
|
+
public BNode right() { return right_; }
|
15
|
-
public BNode left()
|
16
|
+
public BNode left() { return left_; }
|
17
|
+
public BNode parent() { return parent_; }
|
16
|
-
public BNode setRight(BNode node) { right_ = node; return node; }
|
18
|
+
public BNode setRight(BNode node) { right_ = node; node.parent_ = this; return node; }
|
17
|
-
public BNode setLeft(BNode node) { left_ = node; return node; }
|
19
|
+
public BNode setLeft(BNode node) { left_ = node; node.parent_ = this; return node; }
|
18
20
|
|
19
21
|
public void print() { if ( left() != null ) left().print();
|
20
22
|
System.out.println(name_);
|
@@ -22,8 +24,15 @@
|
|
22
24
|
|
23
25
|
public static void main(String[] args) {
|
24
26
|
BNode root = new BNode("root");
|
27
|
+
|
28
|
+
root.setLeft(new BNode("left") )
|
25
|
-
|
29
|
+
.setLeft( new BNode("left-left") )
|
26
|
-
|
30
|
+
.parent().setRight(new BNode("left-right"));
|
31
|
+
|
32
|
+
root.setRight(new BNode("right"))
|
33
|
+
.setRight(new BNode("right-right"))
|
34
|
+
.parent().setLeft( new BNode("right-left") );
|
35
|
+
|
27
36
|
root.print();
|
28
37
|
}
|
29
38
|
|