当前位置: 首页 > 面试题库 >

请你手写代码,如何合并两个有序链表

邹驰
2023-03-14
本文向大家介绍请你手写代码,如何合并两个有序链表相关面试题,主要包含被问及请你手写代码,如何合并两个有序链表时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

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;
}
}
};

 

 类似资料:
  • 本文向大家介绍手写代码:合并两个有序数组相关面试题,主要包含被问及手写代码:合并两个有序数组时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 解法一: int num[m+n];//新建一个数组,对nums1和nums2排序,排完序赋值给nums1 解法二:   解法三:直接在nums1里进行操作,从nums1的尾部开始,取nums1和nums2中的最大值放入其中。如果n先到达0就能直接得到

  • 本文向大家介绍手写代码:合并两个排序数组相关面试题,主要包含被问及手写代码:合并两个排序数组时的应答技巧和注意事项,需要的朋友参考一下 参考回答:  

  • 本文向大家介绍手写代码:合并有序数组相关面试题,主要包含被问及手写代码:合并有序数组时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 解法一:从结尾开始归并,不会覆盖元素。从A[n+m-1]处开始往前一个元素一个元素的求,每次都要比较A[i]和B[j]的大小。需要注意的是,要考虑到: A和B有一个为空时的情况 解法二:由于合并后A数组的大小必定是m+n,所以从最后面开始往前赋值,先比较A和B

  • 本文向大家介绍请你说一说快速排序,并手写代码相关面试题,主要包含被问及请你说一说快速排序,并手写代码时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1、快速排序的基本思想: 快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。 2、快速排序的三个步骤: (1)选择基准:在

  • 伙计们,我试图以排序顺序合并两个排序的单链接列表。在SO中,我找到了一种递归方法来实现这一点。我努力去理解代码,但不能完全理解!有人在吗,谁能帮我弄清楚。提前感谢! 下面是代码片段: 链接:访谈:合并两个排序的单链表 对不起,浪费你的时间!:(

  • 本文向大家介绍请你手写链表反转相关面试题,主要包含被问及请你手写链表反转时的应答技巧和注意事项,需要的朋友参考一下 参考回答: