/*** Definition for singly-linked list.* public class ListNode {* public int val;* public ListNode next;* public ListNode(int x) { val = x; }* }*/ public class Solution {public ListNode MergeTwoLists(ListNode l1, ListNode l2) {//递归实现链表合并ListNode l = null;if (l1 == null && l2 != null){return l2;}else if (l2 == null && l1 != null){return l1;}else if (l1 == null && l2 == null){return null;}else{if (l1.val < l2.val){if (l == null){l = l1;}l.next = MergeTwoLists(l1.next, l2);}else{if (l == null){l = l2;}l.next = MergeTwoLists(l1, l2.next);}return l;}} }
https://leetcode.com/problems/merge-two-sorted-lists/#/description
补充一个python的实现:
1 class Solution: 2 def mergeTwoLists(self, l1: 'ListNode', l2: 'ListNode') -> 'ListNode': 3 if l1 == None: 4 return l2 5 if l2 == None: 6 return l1 7 if l1.val < l2.val: 8 l1.next = self.mergeTwoLists(l1.next,l2) 9 return l1 10 else: 11 l2.next = self.mergeTwoLists(l2.next,l1) 12 return l2