JavaInterview JavaInterview
首页
指南
分类
标签
归档
  • CSDN (opens new window)
  • 文档集合 (opens new window)
  • 系统架构 (opens new window)
  • 微信号 (opens new window)
  • 公众号 (opens new window)

『Java面试+Java学习』
首页
指南
分类
标签
归档
  • CSDN (opens new window)
  • 文档集合 (opens new window)
  • 系统架构 (opens new window)
  • 微信号 (opens new window)
  • 公众号 (opens new window)
  • 指南
  • 简历

  • Java

  • 面试

  • 算法

    • 经典

    • 力扣

    • 牛客

      • 牛客总结
      • 合并两个排序的链表
        • 题目
        • 思路
        • 解法
  • algorithm
  • nowcoder
JavaInterview.cn
2022-04-23
目录

合并两个排序的链表Java

文章发布较早,内容可能过时,阅读注意甄别。

# 题目

描述

输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。
数据范围: 0 =< n <= 10000,-1000 <= 节点值 <= 1000,
要求:空间复杂度 O(1),时间复杂度 O(n)

如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6},转换过程如下图所示:

或输入{-1,2,4},{1,3,4}时,合并后的链表为{-1,1,2,3,4,4},所以对应的输出为{-1,1,2,3,4,4},转换过程如下图所示:

示例1

输入:
{1,3,5},{2,4,6}
返回值:
{1,2,3,4,5,6}

示例2

输入:
{},{}
返回值:
{}

示例3

输入:
{-1,2,4},{1,3,4}
返回值:
{-1,1,2,3,4,4}

# 思路

设置虚拟头结点,同时遍历两个节点,比较两个节点值的结果,小的节点放在虚拟头节点后面, 最后再把没有遍历完的节点接在虚拟头节点的后面

# 解法

public class Solution {
    public ListNode Merge(ListNode list1,ListNode list2) {
        // 伪节点(哨兵)
        ListNode fake = new ListNode(Integer.MAX_VALUE);// 静止
        ListNode pfake = fake;// 动态
        // 定义两个指针
        ListNode p1 = list1;
        ListNode p2 = list2;
        
        // 谁最小,就把谁卸下来,穿到伪节点这一串上
        while(p1!=null && p2!=null){

            if(p1.val>=p2.val){
                pfake.next = p2;
                p2=p2.next;
            }else{
                pfake.next = p1;
                p1=p1.next;
            }
            
            pfake=pfake.next;
        }
        
        // 最后肯定剩下一个null一个非空
        if(p1==null){
            pfake.next=p2;
        }else{
            pfake.next=p1;
        }
        
        return fake.next;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
微信 支付宝
牛客总结

← 牛客总结

最近更新
01
1633. 各赛事的用户注册率 Java
07-02
02
1636. 按照频率将数组升序排序 Java
07-02
03
1639. 通过给定词典构造目标字符串的方案数 Java
07-02
更多文章>
Theme by Vdoing | Copyright © 2019-2025 JavaInterview.cn
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式