Skip to content

Merge Two Sorted Lists#1

Merged
rihib merged 6 commits intomainfrom
merge_two_sorted_lists
Aug 12, 2024
Merged

Merge Two Sorted Lists#1
rihib merged 6 commits intomainfrom
merge_two_sorted_lists

Conversation

@rihib
Copy link
Owner

@rihib rihib commented Jun 22, 2024

Merge Two Sorted Lists を解きました。レビューお願いいたします🙏

言語: Go
問題: https://leetcode.com/problems/merge-two-sorted-lists/description/

Goでの多重代入について

The assignment proceeds in two phases. First, the operands of index expressions and pointer indirections (including implicit pointer indirections in selectors) on the left and the expressions on the right are all evaluated in the usual order. Second, the assignments are carried out in left-to-right order.
https://go.dev/ref/spec#Assignment_statements

ここに書かれている通り、まず左側の式と右側の式が通常の順序で評価され、次に左から右の順番で代入が行われる。そのため、head, head.Next = head.Next, nilと書くと、head = head.Next, head.Next = nilの順に実行される。

構造体の初期化

Goでは構造体はdummy := &ListNode{}またはdummy := new(ListNode)と初期化できる。newよりも構造体リテラルで初期化する前者の方がよく使われる(関数呼び出しのオーバヘッドがない分より高速なのでは?)。どちらも構造体のフィールドはゼロ値で初期化される。

@rihib
Copy link
Owner Author

rihib commented Jun 22, 2024

こちらすでに解かれている @colorbox さんと @kzhra さんのコードとレビューは拝見しました。

colorbox/leetcode#5
kzhra/Grind41#3

@rihib rihib merged commit 2bd9478 into main Aug 12, 2024
@rihib rihib deleted the merge_two_sorted_lists branch August 12, 2024 07:11
rihib added a commit that referenced this pull request Mar 31, 2025
rihib added a commit that referenced this pull request Mar 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants