题解 | #合并两个排序的链表#
合并两个排序的链表
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
JZ25 合并两个排序的链表
使用指针,先判断哪个链表可以作为头(head),然后使用三个指针 p,q,temp 将较大的链表中的节点插入第一个链表中(head链表)
import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1 == null) return list2; if(list2 == null) return list1; ListNode head = null; ListNode q = null; if(list1.val < list2.val) { head = list1; q = list2; } else { head = list2; q = list1; } ListNode p = head,temp = null; while(q != null) { if(p.next == null || p.next.val > q.val) { temp = q; q = q.next; temp.next = p.next; p.next = temp; } else { p = p.next; } } return head; } }