Skip to content

Instantly share code, notes, and snippets.

@9bany
Created June 23, 2022 09:25
Show Gist options
  • Save 9bany/1d76cf5ea99c65c21ca28bd99b8cbf4a to your computer and use it in GitHub Desktop.
Save 9bany/1d76cf5ea99c65c21ca28bd99b8cbf4a to your computer and use it in GitHub Desktop.
merge_sort_linked_list
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func mergeTwoLists(list1 *ListNode, list2 *ListNode) *ListNode {
var dummy = new(ListNode)
var p = dummy
rabbit := list1
turtle := list2
for rabbit != nil && turtle != nil {
if rabbit.Val < turtle.Val {
p.Next = rabbit
rabbit = rabbit.Next
} else {
p.Next = turtle
turtle = turtle.Next
}
p = p.Next
}
if rabbit != nil {
p.Next = rabbit
} else {
p.Next = turtle
}
return dummy.Next
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment