关闭

剑指offer--合并两个排序的链表

标签: 链表剑指offer-java实现数据结构牛客网在线编程
296人阅读 评论(0) 收藏 举报
分类:

题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。


AC代码:

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {

    public ListNode Merge(ListNode list1,ListNode list2) {
        ListNode list = new ListNode(0);
        ListNode cur = list;
        if ( list1 == null){
            return list2;
        }

        if (list2 == null){
            return list1;
        }

        while(list1 != null & list2 != null){
            if ( list1.val <= list2.val){
                list.next = list1;
                list = list.next;
                list1 = list1.next;
            }else{
                list.next = list2;
                list = list.next;
                list2 = list2.next;
            }
        }

        while(list1 != null){
            list.next = list1;
            list = list.next;
            list1 = list1.next;
        }

        while(list2 != null){
            list.next = list2;
            list = list.next;
            list2 = list2.next;
        }

        list.next = null;
        cur = cur.next;

        return cur;
    }
}
0
0
查看评论

剑指offer--合并两个递增链表

//s public class Merge { /* * 输入两个递增的链表,合并这两个链表并使新链表仍然是递增的 */ public ListNode merge(ListNode root1,ListNode root2) { if(root1==null) return ro...
  • M87138
  • M87138
  • 2014-10-27 10:42
  • 240

剑指offer--面试题17:合并两个排序的链表

 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 python实现: # -*- coding:utf-8 -*- # class ListNode: #     def __init__(s...
  • qingyujean
  • qingyujean
  • 2016-09-26 14:42
  • 154

剑指offer--面试题25:合并两个排序的链表

#include #include typedef struct Node { int data; struct Node *next; }LNode,*LinkList; LinkList Create_List() { int num; LNode *r,*s; LinkList ...
  • u010726692
  • u010726692
  • 2017-07-22 14:46
  • 92

剑指offer--合并两个排序的链表

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 /* public class ListNode {     int val;     ListNode next = null; ...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-11 13:27
  • 778

剑指offer之合并两个排序的链表(Python)

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
  • u010636181
  • u010636181
  • 2017-10-17 14:33
  • 153

剑指offer-- 合并两个排序的链表

题目描述:输入两个递增的链表,输出一个合并之后的链表,合并后的链表需保持递增状态。 输入例子: L1: 2->5->8->12->13->15->16->18->20 L2:1->3->4->7->9->10 输出...
  • he_shuai20
  • he_shuai20
  • 2017-07-13 16:35
  • 359

剑指Offer面试题17(Java版):合并两个排序的链表

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。例如输入图中的链表1和链表2,则合并之后的升序链表3所示。 这是一个经常被各公司采用的面试题。在面试过程中,我们发现应聘者最容易犯两个错误:一是在写代码之前没有对合并的过程想清楚,最终合并出来的链表要么中间...
  • jsqfengbao
  • jsqfengbao
  • 2015-08-01 21:28
  • 1881

Lintcode 165合并两个排序链表

1.问题描述:将两个排序链表合并为一个新的排序链表 2.解题思路:遍历两个链表的公共长度,根据节点值得大小来改变每次节点的连接,然后判断那条链表还有剩余,最后将较长链表的剩余部分追加到节点的后面 3.通过的代码: /**  * Definition of ListNode ...
  • wangyukl
  • wangyukl
  • 2017-03-28 23:15
  • 191

lintcode-合并两个排序链表 -165

/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val...
  • ljlstart
  • ljlstart
  • 2015-09-21 20:20
  • 683

合并两个已经排序好的链表

一,问题描述 1,输入两个单调递增的链表,输出两个链表合成后的链表。新链表也是单调递增的。二,程序如下(Java实现):1,非递归合并有序链表import java.util.*; class ListNode{ int val; ListNode next; ListNod...
  • wodedipang_
  • wodedipang_
  • 2017-02-19 14:33
  • 763
    个人资料
    • 访问:155555次
    • 积分:4927
    • 等级:
    • 排名:第6843名
    • 原创:329篇
    • 转载:0篇
    • 译文:0篇
    • 评论:80条
    博客专栏
    最新评论