题目:
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
分析:
两个链表已是递增,只需要从头遍历,将较小的结点插入新链表,移动指针,继续比较即可。简单程序要注意鲁棒性。
实现:
<span style="font-family:Microsoft YaHei;font-size:14px;">public ListNode Merge(ListNode list1, ListNode list2) {
if (list1 == null) {
return list2;
}
if (list2 == null) {
return list1;
}
ListNode head = null;
if (list1.val <= list2.val) {
head = list1;
head.next = Merge(list1.next, list2);
} else {
head = list2;
head.next = Merge(list1, list2.next);
}
return head;
}</span>