题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路:
将俩个链表的值全部取出到数组中,利用Arrays.sort()库函数排序后重新赋值即可:
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
import java.util.Arrays;
public class Solution {
public ListNode Merge(ListNode list1,ListNode list2) {
if(list1==null && list2==null)
return list1;
int len = 0;
ListNode first = list1;
while(first!=null){
len++;
first = first.next;
}
first = list2;
while(first!=null){
len++;
first = first.next;
}
int []a = new int[len];
int i=0;
first = list1;
while(first!=null){
a[i]=first.val;
i++;
first = first.next;
}
first = list2;
while(first!=null){
a[i]=first.val;
i++;
first = first.next;
}
Arrays.sort(a);
ListNode newHead = new ListNode(a[0]);
ListNode mjj = newHead;
for(int j=1;j<len;j++){
ListNode newNode = new ListNode(a[j]);
newHead.next = newNode;
newHead = newNode;
}
return mjj;
}
}