LeetCode_21_合并两个有序链表
//将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
//
// 示例:
//
// 输入:1->2->4, 1->3->4
//输出:1->1->2->3->4->4
//
// Related Topics 链表
方法一:创建新链表
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
//创建头结点
ListNode head = new ListNode(0);
//需要一个哨兵结点用来next
ListNode pointer = head;
while(l1 != null && l2 != null) {
if(l1.val <= l2.val) {
pointer.next = l1;
l1 = l1.next;
} else {
pointer.next = l2;
l2 = l2.next;
}
pointer = pointer.next;
}
//l1和l2总有一个会先遍历完,那么还没遍历完的直接续上即可
if(l1.next == null) pointer.next = l2;
fi(l2.next == null) pointer.next = l1;
return head.next;
}
class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
}
}
One comment
不错不错,我喜欢看 https://www.ea55.com/