Closed PisecesPeng closed 2 years ago
public static class ListNode {
int val; // 当前链表值
ListNode next; // 下一个链表对象
ListNode(int x) { //赋值链表的值
val = x;
}
}
public static ListNode func(ListNode node1, ListNode node2) {
ListNode result = new ListNode(0);
ListNode tmp = result;
// 循环两个链表, 直到其中一个到底
while (node1 != null && node2 != null) {
// 每次选择val最小的node, 作为返回的node
if (node1.val > node2.val) {
ListNode swap = node1;
node1 = node2;
node2 = swap;
}
tmp.next = node1;
node1 = node1.next;
tmp = tmp.next;
}
// 获得未到底的链表, 继续赋值
tmp.next = node1 != null ? node1 : node2 ;
return result.next;
}
public static class ListNode {
int val; // 当前链表值
ListNode next; // 下一个链表对象
ListNode(int x) { //赋值链表的值
val = x;
}
}
public static ListNode func(ListNode node1, ListNode node2) {
if (node1 == null) {
return node2;
} else if (node2 == null) {
return node1;
} else if (node1.val < node2.val) {
node1.next = func(node1.next, node2);
return node1;
} else {
node2.next = func(node1, node2.next);
return node2;
}
}
合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回.
新链表是通过拼接给定的两个链表的所有节点组成的.
示例 :
题目地址: https://leetcode-cn.com/problems/merge-two-sorted-lists/