首页 > 代码库 > Merge Two Sorted Lists
Merge Two Sorted Lists
归并两个有序序列为一个有序序列
Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode next; 6 * ListNode(int x) { 7 * val = x; 8 * next = null; 9 * }10 * }11 */12 public class Solution {13 public ListNode mergeTwoLists(ListNode l1, ListNode l2) {14 ListNode i = l1;15 ListNode j = l2;16 ListNode k ;17 ListNode end;18 //有空序列19 if(null == l1 && null ==l2)20 return null;21 else if(null == l1 || null == l2){22 return null == l1 ? l2:l1; 23 }24 //没有空序列25 if(i.val < j.val){26 k = new ListNode(i.val);27 k.next = null;28 i = i.next;29 }else30 {31 k = new ListNode(j.val);32 k.next = null;33 j = j.next;34 }35 end = k;36 37 while(null != i && null != j){38 ListNode temp;39 if(i.val < j.val){40 temp = new ListNode(i.val);41 42 i = i.next;43 }else{44 temp = new ListNode(j.val);45 j = j.next;46 }47 temp.next = null;48 end.next = temp;49 end = temp;50 }51 if(null != i){52 while(null != i){53 ListNode temp = new ListNode(i.val);54 temp.next = null;55 end.next = temp;56 end = temp;57 i = i.next;58 }59 }60 if(null != j){61 while(null != j){62 ListNode temp = new ListNode(j.val);63 temp.next = null;64 end.next = temp;65 end = temp;66 j = j.next;67 }68 }69 70 return k;71 }72 }
Merge Two Sorted Lists
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。