Je viens de poser cette question sur Leetcode, alors je me suis souvenu d'un dicton classique: les gens ne peuvent même pas poser de questions simples quand ils sont extrêmement en colère!
La difficulté de cette question marquée sur Leetcode est une question simple, mais après y avoir longtemps réfléchi, c'était douloureux et je ne savais pas ce qui se passait. Au final, il m'a fallu plus d'une heure pour y réfléchir, c'était essentiellement une méthode récursive, combinée à une liste chaînée, donc ça m'a semblé un peu simple, haha!
Idées:
répondre:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if(l1 == null){
return l2;
}
if(l2 == null){
return l1;
}
if(l1.val < l2.val){
l1.next = mergeTwoLists(l1.next,l2);
return l1;
}else{
l2.next = mergeTwoLists(l1,l2.next);
return l2;
}
}
}