Leetcode Note: Go - Remove Linked List Elements
Remove Linked List Elements - LeetCode
https://leetcode.com/problems/remove-linked-list-elements/
- Go 言語で取り組んだメモ
所感
- Linked List から特定数値の要素を削除するというもの
- シンプルに実装できそう
回答
100% golang solution - LeetCode Discuss
https://leetcode.com/problems/remove-linked-list-elements/discuss/284872/100-golang-solution
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func removeElements(head *ListNode, val int) *ListNode {
if head == nil {
return head
}
curr := head
for ; curr.Next != nil; {
if curr.Next.Val == val {
curr.Next = curr.Next.Next
} else {
curr = curr.Next
}
}
if head.Val==val {
return head.Next
}
return head
}
- Go 言語における for 文の仕様としては
for Init; Condition; Post; {}
というフォーマットになっていて Init と Post がオプショナルfor ; curr.Next != nil; {
のように 2つ の条件を指定した場合- Init を省略、 Conditioin として
curr.Next != nil;
、 Post 無し、というして動作する
- Init を省略、 Conditioin として
The Go Programming Language Specification - The Go Programming Language
https://go.dev/ref/spec#For_statements