合并两个有序链表 2025-07-23 作者 Y Y 1195 字 本文最后编辑于 前,其中的内容可能需要更新。 合并两个有序链表 题目 12345678910111213将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0] 解法 12345678910111213141516171819202122232425262728293031323334353637思路:比较两个list的val大小,小的一方的next继续和大的一方比较代码:/** * Definition for a singly-linked list. * class ListNode { * public $val = 0; * public $next = null; * function __construct($val = 0, $next = null) { * $this->val = $val; * $this->next = $next; * } * } */class Solution { /** * @param ListNode $list1 * @param ListNode $list2 * @return ListNode */ function mergeTwoLists($list1, $list2) { if (null === $list1) { return $list2; } elseif (null === $list2) { return $list1; } elseif ($list1->val <= $list2->val) { $list1->next = $this->mergeTwoLists($list1->next, $list2); return $list1; } else { $list2->next = $this->mergeTwoLists($list1, $list2->next); return $list2; } }} < 上一篇 下一篇 >