【LeetCode】【算法】21. 归并两个有序链表

打印 上一主题 下一主题

主题 1494|帖子 1494|积分 4482

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
LeetCode 21. 归并两个有序链表
题目描述

将两个升序链表归并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
思路

用归并排序的做法就可以
代码

  1. /**
  2. * Definition for singly-linked list.
  3. * public class ListNode {
  4. *     int val;
  5. *     ListNode next;
  6. *     ListNode() {}
  7. *     ListNode(int val) { this.val = val; }
  8. *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
  9. * }
  10. */
  11. class Solution {
  12.     public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
  13.         ListNode dummyHead = new ListNode(0), cur = dummyHead;
  14.         while (list1 != null && list2 != null) {
  15.             if (list1.val < list2.val) {
  16.                 cur.next = list1;
  17.                 list1 = list1.next;
  18.             } else {
  19.                 cur.next = list2;
  20.                 list2 = list2.next;
  21.             }
  22.             cur = cur.next;
  23.         }
  24.         cur.next = list1 != null? list1: list2;
  25.         return dummyHead.next;
  26.     }
  27. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦见你的名字

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表