题解 | #相反链表的合并#
相反链表的合并
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; } }