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

    题目描述

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

    思路:

    代码:

    /*
    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 list2;
            else if(list1!=null && list2==null)
                return list1;
            else if(list1==null && list2==null)
                return null;
            
            ListNode p1;
            ListNode p2;
            ListNode list3;
            if(list1.val <= list2.val)
            {
                list3 = list1;
                list1 = list1.next;
            }
            else{
                list3 = list2;
                list2 = list2.next;
            }
            ListNode p3 = list3;
            while(list1!=null && list2!=null)
            {
                if(list1.val <= list2.val)
                {
                    p1 = list1;
                    list1 = list1.next;
                    p1.next = null;
                    p3.next = p1;
                    p3 = p1;
                }
                else{
                    p2 = list2;
                    list2 = list2.next;
                    p2.next = null;
                    p3.next = p2;
                    p3 = p2;
                }
            }
            if(list1!=null)
            {
                p3.next = list1;
            }
            else
            {
                p3.next = list2;
            }
            return list3;
            
        }
    }
  • 相关阅读:
    事件类型
    program的发展史与两个数学方法
    字符统计与基本正则
    bom与dom
    css长度单位及颜色表示
    grid学习
    position定位的认识
    remark:node端口的close-wait
    css background属性设置
    Promise之我发现
  • 原文地址:https://www.cnblogs.com/loyolh/p/12347067.html
Copyright © 2011-2022 走看看