zoukankan      html  css  js  c++  java
  • 21. 合并两个有序链表

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

    示例:

    输入:1->2->4, 1->3->4
    输出:1->1->2->3->4->4

    /**
     * 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 returnNode = new ListNode(0);
            Merge(l1, l2, returnNode);
            return returnNode.next;
        }
        public void Merge(ListNode l1, ListNode l2, ListNode returnNode)
        {
            if(l1 == null)
            {
                returnNode.next = l2;
                return;
            }
            else if(l2 == null)
            {
                returnNode.next = l1;
                return;
            }
            else
            {
                if(l1.val <= l2.val)
                {
                    returnNode.next = l1;
                    ListNode tmpNode = l1.next;
                    ListNode tmpNode1 = returnNode.next;
                     Merge(tmpNode, l2, tmpNode1);
                }
                else
                {
                    returnNode.next = l2;
                    ListNode tmpNode = l2.next;
                    ListNode tmpNode1 = returnNode.next;
                    Merge(l1, tmpNode, tmpNode1);
                }
            }
        }
    } 

    今日一句:

      时间能治愈一切,请给时间一点时间。

  • 相关阅读:
    Maximal Square
    Largest Rectangle in Histogram
    Number of Islands
    Ajax工作原理及C/S与B/S的区别
    Spring的AOP和IoC及隔离级别
    final,finally,finalize的区别
    Servlet生命周期
    数组和链表
    Spring工作原理
    JVM加载class文件原理
  • 原文地址:https://www.cnblogs.com/Duancf/p/12458881.html
Copyright © 2011-2022 走看看