码迷,mamicode.com
首页 > 编程语言 > 详细

剑指offer-合并两个排序的链表

时间:2018-06-05 18:40:29      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:情况   输入   递归   turn   code   ext   链表   val   col   

题目:合并两个排序的链表

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

思路;这个题感觉没啥难的,就是分情况讨论下,有循环有递归两种做法

 1 public class Solution {
 2     public ListNode Merge(ListNode list1,ListNode list2) {
 3      if(list1==null&&list2==null) return null;
 4      if(list1==null)return list2;
 5      if(list2==null)return list1;
 6         ListNode head=new ListNode(0);
 7         head.next=null;
 8         ListNode root=head;
 9         while(list1!=null&&list2!=null){
10          if(list1.val<=list2.val){
11              head.next=list1;
12               head=head.next;;
13              list1=list1.next;
14             
15          }
16           else if(list2.val<list1.val){
17              head.next=list2;
18                head=head.next;
19              list2=list2.next;
20                
21          }  
22         }
23         
24         if(list1!=null) head.next=list1;
25         if(list2!=null)head.next=list2;
26         return root.next;
27     }
28 }

再来个递归的

 1 public class Solution {
 2     public ListNode Merge(ListNode list1,ListNode list2) {
 3      if(list1==null)return list2;
 4      if(list2==null)return list1;
 5       if(list1.val<=list2.val){
 6           list1.next=Merge(list1.next,list2);
 7           return list1;
 8       }
 9         if(list2.val<list1.val){
10             list2.next=Merge(list1,list2.next);
11             return list2;
12         }
13         return null;
14     }
15 }

 

剑指offer-合并两个排序的链表

标签:情况   输入   递归   turn   code   ext   链表   val   col   

原文地址:https://www.cnblogs.com/pathjh/p/9140989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!