lc-go/solutions/0/q86/solution.go
2026-01-17 12:51:40 +09:00

30 lines
490 B
Go

package q86
type ListNode struct {
Val int
Next *ListNode
}
func partition(head *ListNode, x int) *ListNode {
stub := &ListNode{Next: head}
before := stub
for before.Next != nil && before.Next.Val < x {
before = before.Next
}
for p := before.Next; p != nil && p.Next != nil; {
if p.Next.Val < x {
move := p.Next
p.Next = move.Next
move.Next = before.Next
before.Next = move
before = move
} else {
p = p.Next
}
}
return stub.Next
}
var _ = partition