zoukankan      html  css  js  c++  java
  • 面试题 17:合并两个排序的链表

    面试题 17:合并两个排序的链表

    题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按 照递增排序的。

    两个指针指向两个链表的头结点,取其中值小的作为新链表的头结点,和之前的结点串联,如此递归。

    注意用例:

    两个链表都为null;

    其中一个链表为null;

    两个链表有多个结点,有相同的值,不同的值。

    package offer;
    
    /*面试题 17:合并两个排序的链表
    题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按 照递增排序的。*/
    public class Problem17 {
        static class ListNode {
            int data;
            ListNode nextNode;
        }
    
        public static void main(String[] args) {
            ListNode head1 = new ListNode();
            ListNode second1 = new ListNode();
            ListNode head2 = new ListNode();
            ListNode second2 = new ListNode();
            ListNode third2 = new ListNode();
            head1.nextNode = second1;
            head2.nextNode = second2;
            second2.nextNode = third2;
            head1.data = 1;
            second1.data = 3;
            head2.data = 2;
            second2.data = 2;
            third2.data = 2;
            Problem17 test = new Problem17();
            ListNode result = test.mergeList(head1, head2);
            System.out.println(result.nextNode.nextNode.nextNode.nextNode.data);
        }
    
        public ListNode mergeList(ListNode head1, ListNode head2) {
            if (head1 == null) {
                return head2;
            } else if (head2 == null) {
                return head1;
            }
            ListNode mergeHead = null;
            if (head1.data < head2.data) {
                mergeHead = head1;
                mergeHead.nextNode = mergeList(head1.nextNode, head2);
            }else{
                mergeHead = head2;
                mergeHead.nextNode = mergeList(head1, head2.nextNode);
            }
            return mergeHead;
        }
    }

     

  • 相关阅读:
    uinty实现玩家尾随鼠标位置平滑旋转角度
    matlab hornerDemo
    【App 开发框架
    mobiscroll手机端插件 好用(时间、日历、颜色)
    朴素的UNIX之-调度器细节
    String与StringBuffer的差别
    用jquery ajax做的select菜单,选中的效果
    Codeforces Round #253 (Div. 2)A. Anton and Letters
    unix环境高级编程——文件i/o
    CSDN的技术问题
  • 原文地址:https://www.cnblogs.com/newcoder/p/5797151.html
Copyright © 2011-2022 走看看