1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
func partition(head *ListNode, x int) *ListNode { var s, l ListNode sPtr, lPtr := &s, &l for p := head; p != nil; p = p.Next { if p.Val < x { sPtr.Next = &ListNode{Val: p.Val} sPtr = sPtr.Next } else { lPtr.Next = &ListNode{Val: p.Val} lPtr = lPtr.Next } } sPtr.Next = l.Next return s.Next }
|