将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 `输出:1 1 2 3 4 4` 解法有两种: 1.递归思路 ? 思路很简单,递归首先要考虑 边界情况 ,也就是什么时候停止。当l1走到空时,返回的一定是l2,l2空时同理。 ? 当l1较小时,l1为头结点 ...
分类:
其他好文 时间:
2020-03-07 00:02:15
阅读次数:
78
题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 单链表的定义 思路:思路一,将遍历两个链表存入列表中,对列表进行排序后再输出即可。思路二:递归方法。思路三:迭代方法。 (1)思路一:使用sort函数列表中的元素从小到大排列,然后遍历列表,以链表 ...
分类:
其他好文 时间:
2020-03-06 17:23:03
阅读次数:
58
题目描述 难度:简单 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 解题思路 对于两个有序链表l1:1->5->8和l2:2->3->9, 首先将l4=l3; 利用一 ...
分类:
其他好文 时间:
2020-02-28 21:01:40
阅读次数:
85
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solu ...
分类:
其他好文 时间:
2020-02-23 14:24:46
阅读次数:
50
题目 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1 2 4, 1 3 4 输出:1 1 2 3 4 4 来源:力扣(LeetCode) 解答 我的第一个版本,有点糟糕: 我的第二个版本: 大佬的版本: ...
分类:
其他好文 时间:
2020-02-21 18:20:18
阅读次数:
55
本题要求实现一个合并两个有序链表的简单函数。链表结点定义如下: struct ListNode { int data; struct ListNode next; }; 函数接口定义: struct ListNode mergelists(struct ListNode list1, struct ...
分类:
其他好文 时间:
2020-02-20 15:18:59
阅读次数:
144
题目描述: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 思路: 递归 代码: /** * Definition for singly-linked list. * ...
分类:
其他好文 时间:
2020-02-18 09:41:57
阅读次数:
62
迭代:设定哨兵节点head,维护一个prev指针,每次迭代都是调整prev的next指针,判断两个链表头元素大小,将小的值接入prev节点后面,同时将接入的链表和prev后 ...
1. 本人做法,采用了取巧的方法,利用了java的comparartor与自带的sort函数,先拆链表再构建链表,java还是好用啊 2. 递归做法 学! 3. 迭代法(归并排序中的merge过程,逐个比较)这里最好创建一个新的链表,如果在原有的链表(l1或者l2上面操作的话会很麻烦) ...
分类:
其他好文 时间:
2020-02-02 15:45:33
阅读次数:
61
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 思路: 先把两个链表合并,然后冒泡排序!初学者の笨比解法@@ struct ListNode* mergeTwoList ...
分类:
其他好文 时间:
2020-01-30 20:55:43
阅读次数:
63