小渣渣的算法学习笔记:2018秋招备战
数据结构类算法总结:链表
数据结构类算法总结:链表
1.题目描述:RT
2.代码实现:
public class Solution25 { private static class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public static void main(String[] args) { ListNode l11 = new ListNode(2); ListNode l12 = new ListNode(3); ListNode l13 = new ListNode(4); ListNode l14 = new ListNode(6); ListNode l15 = new ListNode(8); ListNode l16 = new ListNode(9); l11.next = l12; l12.next = l13; l13.next = l14; l14.next = l15; l15.next = l16; ListNode l21 = new ListNode(1); ListNode l22 = new ListNode(3); ListNode l23 = new ListNode(5); ListNode l24 = new ListNode(6); ListNode l25 = new ListNode(9); ListNode l26 = new ListNode(12); l21.next = l22; l22.next = l23; l23.next = l24; l24.next = l25; l25.next = l26; Solution25 s = new Solution25(); ListNode n = s.Merge(l11,l21); while(n!=null){ System.out.print(n.val+" "); n=n.next; } } public ListNode Merge(ListNode head1,ListNode head2){ if(head1 == null) return head2; else if(head2 == null) return head1; ListNode mergeHead = null; if(head1.val < head2.val){ mergeHead = head1; mergeHead.next = Merge(head1.next,head2); }else{ mergeHead = head2; mergeHead.next = Merge(head1,head2.next); } return mergeHead; } }