• 合并2个排序的链表


    描述

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

    解析

    节点依次比较,指针移动。类似归并的merge方法,思路一样。

    代码

    /*
    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 (null == list1 && null == list2) {
                return null;
            } else if (null == list1) {
                return list2;
            } else if (null == list2) {
                return list1;
            }
            //设置一个头节点
            ListNode newListNode = new ListNode(0);
            ListNode root = newListNode;
            while (null != list1 && null != list2) {
                if (list1.val < list2.val) {
                    newListNode.next = list1;
                    newListNode = list1;
                    list1 = list1.next;
                } else {
                    newListNode.next = list2;
                    newListNode = list2;
                    list2 = list2.next;
                }
            }
            if (null != list1) {
                newListNode.next = list1;
            }
            if (null != list2) {
                newListNode.next = list2;
            }
            return root.next;
        }
    }
  • 相关阅读:
    MySQL数据模型
    Spring循环依赖
    @Autowired和@Resource区别
    Kafka概念
    阻塞队列
    线程池原理
    Spring AOP
    JVM 史上最最最完整深入解析(12000 字噢)
    Dubbo配置信息
    友情链接
  • 原文地址:https://www.cnblogs.com/fanguangdexiaoyuer/p/10768627.html
Copyright © 2020-2023  润新知