回答編集履歴
1
追記
answer
CHANGED
@@ -28,4 +28,35 @@
|
|
28
28
|
実行結果
|
29
29
|
```text
|
30
30
|
a b * c +
|
31
|
+
```
|
32
|
+
|
33
|
+
**追記**
|
34
|
+
StringBuilder に追加していきたいのなら、
|
35
|
+
```Java
|
36
|
+
class Node {
|
37
|
+
public String expression; // 演算子または項
|
38
|
+
public Node left = null; // 左の子ノード
|
39
|
+
public Node right = null; // 右の子ノード
|
40
|
+
|
41
|
+
Node(String e) { expression = e; }
|
42
|
+
Node(String e, Node l, Node r) { expression = e; left = l; right = r; }
|
43
|
+
|
44
|
+
public void traversePostorder(StringBuilder rt) {
|
45
|
+
if (left != null) left.traversePostorder(rt);
|
46
|
+
if (right != null) right.traversePostorder(rt);
|
47
|
+
rt.append(expression + " ");
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
class Main {
|
52
|
+
public static void main(String args[]) {
|
53
|
+
Node root = new Node("+",
|
54
|
+
new Node("*", new Node("a"), new Node("b")),
|
55
|
+
new Node("c")
|
56
|
+
);
|
57
|
+
StringBuilder sb = new StringBuilder();
|
58
|
+
root.traversePostorder(sb);
|
59
|
+
System.out.println(sb);
|
60
|
+
}
|
61
|
+
}
|
31
62
|
```
|