LeetCode 21. 合并两个有序链表

Posted xiaoff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 21. 合并两个有序链表相关的知识,希望对你有一定的参考价值。

题目将两个升序链表合并为一个新的升序链表并返回。

新链表是通过拼接给定的两个链表的所有节点组成的。

题目链接:https://leetcode-cn.com/problems/merge-two-sorted-lists/

代码

/**
 * 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 head = new ListNode(0);
        ListNode temp = head;

        while(l1 != null && l2 != null){
            if(l1.val < l2.val){
                temp.next = l1;     //此时l1指向temp的下一个
                l1 = l1.next;      //l1继续往下一步走
            }else{
                temp.next = l2;     //此时l2指向temp的下一个
                l2 = l2.next;      //l2继续往下一步走
            }
            temp = temp.next;     //temp继续向下一步走
        }
        temp.next = l1==null ? l2:l1;    //谁还没空,谁就直接附着到temp上面

        return head.next;
    }
}

大家如果感兴趣可以前去手搓

本分类只用作个人记录,大佬轻喷.

以上是关于LeetCode 21. 合并两个有序链表的主要内容,如果未能解决你的问题,请参考以下文章

leetcode21合并两个有序链表

LeetCode 21. 合并两个有序链表

leetCode第21题——合并两个有序链表

LeetCode 21.合并两个有序链表

LeetCode 21.合并两个有序链表

[leetcode] 21. 合并两个有序链表