码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode - Merge Two Sorted Lists

时间:2015-04-03 01:30:40      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:

        依然是链表的简单操作,把两个链表按大小顺序和成一个链表,但是还是要注意细节。下面是效率不高但是简单易懂的一种解法。需要注意两个链表都为空的情况。

 

 

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        if(l1 == null && l2 == null)
			return null;
		if(l1==null && l2!=null)
			return l2;
		if(l1!=null && l2==null)
			return l1;
        ArrayList<Integer> set = new ArrayList<>();
        ListNode p = new ListNode(1), q = new ListNode(1);
        p = l1;
        q = l2;
        while(p != null) {
        	set.add(p.val);
        	p = p.next;
        }
        
        while(q != null) {
        	set.add(q.val);
        	q = q.next;
        }
        Collections.sort(set);
        
        ListNode ans = null;
        ListNode head = new ListNode(1);
        
        for(int i=0; i<set.size(); i++) {
        	
        	if(i == 0) {
        		ans = new ListNode(set.get(i));
        		head = ans;
        	}
        	else {
        		ans.next = new ListNode(set.get(i));
        	    ans = ans.next;
        	}
        	
        	
        }
        
        return head;
        
    }
}

 

LeetCode - Merge Two Sorted Lists

标签:

原文地址:http://www.cnblogs.com/wxisme/p/4388864.html

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