【剑指offer】刷题记录-合并两个排序的链表

题目描述

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

思路:递归实现。

public class Solution {
	class ListNode {
		int val;
		ListNode next = null;

		ListNode(int x) {
			val = x;
		}
	}

	public ListNode Merge(ListNode list1, ListNode list2) {
		ListNode newList = new ListNode(0);
		if (list1 == null && list2 == null) {
			return null;
		}
		if (list1 == null) {
			return list2;
		}
		if (list2 == null) {
			return list1;
		}
		if (list1.val < list2.val) {
			newList = list1;
			list1 = list1.next;
		} else {
			newList = list2;
			list2 = list2.next;
		}
		newList.next = Merge(list1, list2);
		return newList;
	}
}

猜你喜欢

转载自blog.csdn.net/Littlecome/article/details/82116151