Conversation
| root.right = merge_two_nodes(node1.right, node2.right) | ||
| return root | ||
| else: | ||
| return node1 or node2 |
There was a problem hiding this comment.
新しく作ったノードに、入力で受け取ったノードをつなぐことになる場合もあるかなと思いました。別の想定として、新しく作ったノードだけで構成された木を返す、ということを考えて書いてみるというのもよさそうと思いました。
もしdiscord 内やコメント集を調べてないようでしたら調べてみると、stack を使った書き方など違った書き方など見つかると思うのでお勧めです。
There was a problem hiding this comment.
新しく作ったノードに、入力で受け取ったノードをつなぐことになる場合もあるかなと思いました。別の想定として、新しく作ったノードだけで構成された木を返す、ということを考えて書いてみるというのもよさそうと思いました。
入力を破壊はしていないが、入力と同じ参照をもつオブジェクトを作るので、将来的に意図せず入力の値が変わってしまうことがある、ということですね。気づきませんでした、重要なご指摘感謝です!!
There was a problem hiding this comment.
以下のように deepcopy を使えばいいかなと思いました。
else:
return copy.deepcopy(node1 or node2)|
もしファイル形式が.md以外の場合はこれにするとシンタックスハイライトが効くと思います。 |
|
すみません!mdにするのを忘れていました。後ほど修正しますm(_ _)m |
|
|
||
| 2回目。dfs を merge_two_nodes へリネームした。 | ||
|
|
||
| ```py |
There was a problem hiding this comment.
ここpyではなくpythonにしておくと、レビュワーがレビューしやすくなると思います。
There was a problem hiding this comment.
pyでもシンタックスハイライトは効きますが、pythonであることがより明示的であるほうがよいとの意図でしょうか?
There was a problem hiding this comment.
拡張子が .md ファイルではなかったため、シンタックスハイライトが効いておらず、 py になっているからシンタックスハイライトが効いていないと勘違いしたのだと思いました。
There was a problem hiding this comment.
| ```py | ||
| class Solution: | ||
| def mergeTrees(self, root1: Optional[TreeNode], root2: Optional[TreeNode]) -> Optional[TreeNode]: | ||
| def dfs(node1, node2): |
There was a problem hiding this comment.
dfsではなく、何をするものかが分かる命名にするとより分かりやすいコードになると思います。
| root.left = dfs(node1.left, node2.left) | ||
| root.right = dfs(node1.right, node2.right) | ||
| return root | ||
| else: |
There was a problem hiding this comment.
何に対するelseかを遡るか、条件を覚えておく必要がある構造になっています。ので、elseの条件に当たるものを7行目あたりに持ってきて早期returmするのも良いと思います。その後に7行目以降の処理を書けば条件も消せますし。
There was a problem hiding this comment.
確かに、早期リターンすればそうでない場合のインデントを一つ浅くできますね!ありがとうございます!
| @@ -0,0 +1,47 @@ | |||
| 1回目。答えを写した。 | |||
There was a problem hiding this comment.
LeetCode の答えにしないほうがいいと思います。時々変なことが書かれています。
完走している人から気に入った人を見繕っておくといいでしょう。
There was a problem hiding this comment.
かしこまりました、コメントありがとうございます!
| @@ -0,0 +1,47 @@ | |||
| 1回目。答えを写した。 | |||
|
|
|||
| ```py | |||
There was a problem hiding this comment.
ファイルの拡張子を .md にすると、シンタックスハイライトが有効化され、読み手にとって読みやすくなると思います。
There was a problem hiding this comment.
すみません、忘れておりました、、、m(_ _)m
https://leetcode.com/problems/merge-two-binary-trees