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
dummy := new(ListNode)
cur := dummy
p1, p2 := pHead1, pHead2
for p1 != nil && p2 != nil {
if p1.Val < p2.Val {
cur.Next = p1
p1 = p1.Next
} else {
cur.Next = p2
p2 = p2.Next
}
cur = cur.Next
}
if p1 != nil {
cur.Next = p1
}
if p2 != nil {
cur.Next = p2
}
return dummy.Next
}