题解 | #相反链表的合并#
相反链表的合并
https://www.nowcoder.com/practice/0222a3c31a404dd3b8c3341d189477f4
import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* public ListNode(int val) {
* this.val = val;
* }
* }
*/
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param l1 ListNode类
* @param l2 ListNode类
* @return ListNode类
*/
public ListNode mergeLists (ListNode l1, ListNode l2) {
// write code here
List<Integer> list=new ArrayList<>();
while (l1!=null){
list.add(l1.val);
l1=l1.next;
}
while (l2!=null){
list.add(l2.val);
l2=l2.next;
}
list.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1-o2;
}
});
// ListNode listNode = new ListNode(list.get(0));
// for (int i=1;i<list.size();i++){
// ListNode listNode1 = new ListNode(list.get(i));
// listNode.next=listNode1;
// listNode=listNode.next;
// }
ListNode listNode=new ListNode(list.get(0));
ListNode listNode1=listNode;
int i=1;
while (i<list.size()){
listNode.next=new ListNode(list.get(i));
listNode=listNode.next;
i++;
}
return listNode1;
}
}
查看9道真题和解析