LeetCode 第21题 合并有序链表

Posted 朝才

tags:

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

(一)题目描述

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

Example:

Input: 1->2->4, 1->3->4
Output: 1->1->2->3->4->4

 

(二)算法描述

  1 先创建一个头结点,用来合并两个有序链表

  2 声明一个节点的引用指向头结点,用于返回头结点信息,进行访问输出

  3 分为节点信息两个都不为空和有一个为空的情况进行编码

 

(三)LeetCode AC代码

/**
 * 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 temp = new ListNode(0);
       //生明一个引用保存头结点信息
       ListNode save = temp;
        
       while(l1 != null && l2 != null){
           if(l1.val < l2.val){
               temp.next = l1;
               l1 = l1.next;
               temp = temp.next;
           }else{
               temp.next = l2;
               l2 = l2.next;
               temp = temp.next;
           }
       }
       if(l1 == null){
           temp.next = l2;
       }
       if(l2 == null){
           temp.next = l1;
       }
       return save.next;
    }
}

 


 

 

          

            祝明天好运,加油自己!!

 

 

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

LeetCode 第21题 合并有序链表

精选力扣500题 第7题 LeetCode 21. 合并两个有序链表c++详细题解

Leetcode第21题:合并两个有序链表

Leetcode第21题:合并两个有序链表

Leetcode练习(Python):链表类:第21题:合并两个有序链表:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

LeetCode Algorithm 21. 合并两个有序链表