teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/12/21 03:10

投稿

kazuma-s
kazuma-s

スコア8222

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
  ```