質問編集履歴
2
訂正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
二分木を再帰でトラバースするとき、Pythonのリストの挙動がうまく理解で
|
1
|
+
二分木を再帰でトラバースするとき、Pythonのリストの挙動がうまく理解できない
|
test
CHANGED
File without changes
|
1
加筆
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
if root:
|
15
15
|
l.append(str(root.val)) # パスをリストで表現
|
16
16
|
s += str(root.val) # パスを文字列で表現
|
17
|
-
print('lst:', l, 'string:', s) # パスを表示
|
17
|
+
print('lst:', l, 'string:', s, '\n') # パスを表示
|
18
18
|
if not root.left and not root.right:
|
19
19
|
res.append(l)
|
20
20
|
res.append(s)
|
@@ -25,3 +25,11 @@
|
|
25
25
|
helper(root, l, s)
|
26
26
|
return res
|
27
27
|
```
|
28
|
+
上記のコードは、リストと文字列の両方でテストしているのと、解答の書式に合っていないので、正解にはなりませんが、以下のような結果になります。二分木のイメージは、リンクを参照していただけると助かります。
|
29
|
+
入力
|
30
|
+
[1,2,3,null,5]
|
31
|
+
出力
|
32
|
+
リストを使った時 [["1","2","5","3"], ["1","2","5","3"]]
|
33
|
+
文字列を使った時 [,"125", "13"]
|
34
|
+
|
35
|
+
リストを使うと、二分木の分岐で再起の際、List.append()でのキーの追加をするところでリストが分岐されていかないようです。リストオブジェクトの性質による動きなのでしょうか。
|