题目
输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。
数据范围
链表长度 [0,500][0,500]。
样例
输入:1->3->5 , 2->4->5
输出:1->2->3->4->5->5
解析
按照题意模拟就行
代码
GO
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func merge(l1 *ListNode, l2 *ListNode) *ListNode {
dummy := &ListNode{}
p0 := dummy
for l1 != nil && l2 != nil {
if l1.Val > l2.Val {
p0.Next = l2
l2 = l2.Next
} else {
p0.Next = l1
l1 = l1.Next
}
p0 = p0.Next
}
if l1 != nil {
p0.Next = l1
}
if l2 != nil {
p0.Next = l2
}
return dummy.Next
}