最佳解法剑指 Offer 25. 合并两个排序的链表
Posted 来老铁干了这碗代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最佳解法剑指 Offer 25. 合并两个排序的链表相关的知识,希望对你有一定的参考价值。
立志用最少的代码做最高效的表达
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
示例1:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
限制:
0 <= 链表长度 <= 1000
注意:
1、建立伪头结点,方便操作
2、要明确:链表的建立,是修改地址和指针,而不是开辟空间赋值。
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
// 1、建立伪头结点
ListNode head = new ListNode(0), tmp = head;
while(l1 != null && l2 != null) {
if(l1.val <= l2.val) {
tmp.next = l1;
l1 = l1.next;
} else {
tmp.next = l2;
l2 = l2.next;
}
tmp = tmp.next;
}
tmp.next = l1 != null ? l1 : l2;
return head.next;
}
}
木秀于林,风必摧之;堆出于岸,流必湍之;行高于人,众必非之。
以上是关于最佳解法剑指 Offer 25. 合并两个排序的链表的主要内容,如果未能解决你的问题,请参考以下文章