zoukankan      html  css  js  c++  java
  • 合并两个有序链表(注意空指针异常)

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

    要注意判断两个结点是否为空结点,不然会出现空指针异常

    /**
     * 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) {
            if(l1==null)return l2;
            if(l2==null)return l1;
            ListNode l3=null;
            ListNode head=null;
            if(l1.val<=l2.val)
            {
                l3=l1;
                head=l3;
                l1=l1.next;
            }             
            else
            {
                l3=l2;
                head=l3;
                l2=l2.next;
            }
            while(l1!=null&&l2!=null)
            {
                if(l1.val<=l2.val)
                {
                    l3.next=l1;
                    l3=l3.next;
                    l1=l1.next;
                }
                else
                {
                    l3.next=l2;
                    l3=l3.next;
                    l2=l2.next;
                }           
            }
            if(l1!=null)
            {
                l3.next=l1;
            }
            else
            {
                l3.next=l2;
            }
            return head;
        }
    }

  • 相关阅读:
    Vue学录 (第三章)
    Vue学录 (第二章)
    Vue 学录 (第一章)
    SpringBoot 学集 (第七章) 数据访问
    Leetcode789 阻碍逃脱者 曼哈顿距离
    Leetcode707 设计链表 双向链表实现
    leetcode 743 网络延迟时间 Dijkstra算法
    Leetcode676 实现魔法字典
    Leetcode443 压缩字符串 双指针原地压缩算法
    Leetcode23 合并K个升序链表
  • 原文地址:https://www.cnblogs.com/yihangZhou/p/9905237.html
Copyright © 2011-2022 走看看