package main
import . "nc_tools"
/*
* type ListNode struct{
* Val int
* Next *ListNode
* }
*/
/**
*
* @param pHead1 ListNode类
* @param pHead2 ListNode类
* @return ListNode类
*/
func Merge( pHead1 *ListNode , pHead2 *ListNode ) *ListNode {
// write code here
list1 := pHead1
list2 := pHead2
dummy := &ListNode{Val: 0}
tmp := dummy
for list1 != nil && list2 != nil {
if list1.Val < list2.Val {
tmp.Next = &ListNode{Val: list1.Val}
list1 = list1.Next
} else {
tmp.Next = &ListNode{Val: list2.Val}
list2 = list2.Next
}
tmp = tmp.Next
}
for list1 != nil {
tmp.Next = &ListNode{Val: list1.Val}
tmp = tmp.Next
list1 = list1.Next
}
for list2 != nil {
tmp.Next = &ListNode{Val: list2.Val}
tmp = tmp.Next
list2 = list2.Next
}
return dummy.Next
}