java如何合并两个有序链表

本篇内容主要讲解“java如何合并两个有序链表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java如何合并两个有序链表”吧!

成都创新互联公司专业为企业提供定安网站建设、定安做网站、定安网站设计、定安网站制作等企业网站建设、网页设计与制作、定安企业网站模板建站服务,十年定安做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

非递归方法:

   public ListNode mergeTwoLists(ListNode l1, ListNode l2) {

        ListNode head = new ListNode(0);

        ListNode pre = head;

        while (l1 != null && l2 != null) {

            if (l1.val <= l2.val) {
                pre.next = l1;
                l1 = l1.next;
            } else {
                pre.next = l2;
                l2 = l2.next;
            }
            pre = pre.next;
        }

        if (l1 != null) {
            pre.next = l1;
        } else {
            pre.next = l2;
        }

        return head.next;
    }

递归方法:

 public  ListNode mergeTwoLists3(ListNode l1, ListNode l2) {

      if (l1 == null) {
          return l2;
      }

      if (l2 == null){
          return l1;
      }

      if (l1.val <= l2.val){
          l1.next =mergeTwoLists3(l1.next,l2);
          return l1;
      }else {
          l2.next = mergeTwoLists3(l1,l2.next);
          return l2;
      }

   }

到此,相信大家对“java如何合并两个有序链表”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网站名称:java如何合并两个有序链表
网页URL:http://ybzwz.com/article/jeojic.html