题目链接: 剑指Offer 25. 合并两个排序的链表
题目描述:
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
解法思路:
在两链表向后遍历的过程中,哪个更小一点,哪个先放在合并后的链表中。最后哪个链表剩余,直接接在合并链表的后面即可。
代码:
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func mergeTwoLists(l1 *ListNode, l2 *ListNode) *ListNode {
dummy := &ListNode{}
p := dummy
for l1 != nil && l2 != nil {
if l1.Val < l2.Val{
p.Next = l1
l1 = l1.Next
p = p.Next
}else{
p.Next = l2
l2 = l2.Next
p = p.Next
}
}
if l1 != nil {
p.Next = l1
}
if l2 != nil {
p.Next = l2
}
return dummy.Next
}
标签:25,ListNode,nil,Offer,Next,链表,l2,l1
From: https://www.cnblogs.com/lxing-go/p/17660442.html