zoukankan      html  css  js  c++  java
  • 剑指Offer--合并两个排序链表

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

    思路:首先比较两个链表的头结点,如果链表1的头结点小于链表2的头结点,链表1的头结点将是合并后链表的头结点。然后继续合并两个链表中的剩余结点,两个链表中剩余的结点依然是有序的,因此合并步骤与第一步相同。   显然这是一个递归过程,可用递归函数实现。

    代码:

    /*
    public class ListNode {
        int val;
        ListNode next = null;
    
        ListNode(int val) {
            this.val = val;
        }
    }*/
    public class Solution {
        public ListNode Merge(ListNode list1,ListNode list2) {
            if(list1==null&&list2==null){
                return null;
            }
            if(list1==null){
                return list2;
            }
            if(list2==null){
                return list1;
            }
            ListNode head = null;
            if(list1.val<list2.val){
                head=list1;
                head.next=Merge(list1.next,list2);
            }else{
                head=list2;
                head.next=Merge(list1,list2.next);
            }
            return head;
        }
    }
  • 相关阅读:
    JDBC的一些代码
    mysql
    【转载】如何简单地理解Python中的if __name__ == '__main__'
    【转载】用Scikit-Learn构建K-近邻算法,分类MNIST数据集
    数据科学入门---可视化数据
    Sum It Up
    Blue Jeans
    Zball in Tina Town
    Island Transport
    CD
  • 原文地址:https://www.cnblogs.com/xiaoxli/p/9484138.html
Copyright © 2011-2022 走看看