Remove duplicated form sorted list ⅱ#3
Hidden character warning
Conversation
There was a problem hiding this comment.
There was a problem hiding this comment.
入口はChatGPTで良いのですが、自分は根拠になるドキュメントやコードのURLを出力させて、それを自分で読むようにしています。読まないまでもURLを記録しておくと、後から答え合わせや追加調査がやりやすいです。
There was a problem hiding this comment.
個人的な好みですが、条件分岐ごとの処理が数行を超えるときは、片方をさっさと continue しちゃって、インデントを下げるほうが読みやすいです。
| if ptr.next.val != ptr.next.next.val: | |
| ptr = ptr.next | |
| else: | |
| duplicated_val = ptr.next.val | |
| runner = ptr.next | |
| while runner.next is not None and runner.next.val == duplicated_val: | |
| runner.next = runner.next.next | |
| ptr.next = runner.next | |
| if ptr.next.val != ptr.next.next.val: | |
| ptr = ptr.next | |
| continue | |
| duplicated_val = ptr.next.val | |
| runner = ptr.next | |
| while runner.next is not None and runner.next.val == duplicated_val: | |
| runner.next = runner.next.next | |
| ptr.next = runner.next |
There was a problem hiding this comment.
コメントありがとうございます。確かに、処理が長いときはさっさとcontinueした方が読みやすいですね。勉強になります。
| dummy = ListNode() | ||
| dummy.next = head | ||
|
|
||
| ptr = dummy |
There was a problem hiding this comment.
ポインターの略だと思うのですが、 Python にはポインターという概念は存在しないため、 ptr と付けるのはやや違和感を感じました。 node と付ける方が多いように思います。
|
|
||
| dummy = ListNode() | ||
| dummy.next = head | ||
| ptr = dummy |
There was a problem hiding this comment.
これ、もう少しいい変数名ありませんかね。
このコードを初めて見た人が上から読んでいって、あ、ptr ってこういう役割だろうって分かりますか。
https://docs.google.com/document/d/11HV35ADPo9QxJOpJQ24FcZvtvioli770WWdZZDaLOfg/edit?tab=t.0#heading=h.fcs3httrll4l
解いた問題:https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/submissions/1879428826/