一、题目内容
二、题解
解法1:
思路
双指针法
- 生成一个临时节点,用作新链表的头
- 比较两个链表的当前head,选取小的拼接在cur上
- 当出现一个链表为空时,说明不为空的链表部分在整个链表里是直接有序的,拼接到cur上即可
-
代码
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/class Solution {public ListNode mergeTwoLists(ListNode l1, ListNode l2) {ListNode dum = new ListNode(0), cur = dum;while (l1 != null && l2 != null) {if (l1.val < l2.val) {cur.next = l1;l1 = l1.next;} else {cur.next = l2;l2 = l2.next;}cur = cur.next;}//不为空的直接拼接上去cur.next = l1 != null ? l1 : l2;return dum.next;}}
