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 }