将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(in ...
分类:
其他好文 时间:
2020-03-12 10:06:33
阅读次数:
47
题目描述: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 解题思路: 具体思想就是新建一个链表,然后比较两个链表中的元素值,把较小的那个链到新链表中,由于两个输入链 ...
分类:
其他好文 时间:
2020-03-09 13:26:24
阅读次数:
39
本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementTyp ...
分类:
其他好文 时间:
2020-03-09 00:42:00
阅读次数:
64
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 `输出: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
from heapq import heappush, heappop class Solution: def mergeKLists(self, lists): q = [] for i,head in enumerate(lists): if head: heappush(q, (head.va ...
分类:
编程语言 时间:
2020-02-28 20:56:22
阅读次数:
109
判断树1中是否有树2 思路: 采用递归的方法,先序遍历整棵树,判断当前的树是否有树2,没有的话判断左右子树是否有。 代码: 合并有序链表 思路: 采用递归的方式,每一次都是小的那个节点作为头结点,并且将头结点连接到已排好的节点。 代码: 旋转打印二维数组 思路: 将打印数组一圈作为一个循环,每次循环 ...
分类:
编程语言 时间:
2020-02-24 00:25:31
阅读次数:
71
/** * 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
56. 删除有序链表中的重复结点 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 分析 借助辅助头结点,可避免单独讨论头结点的情况。设置两个结点 pre 和 cur ...
分类:
其他好文 时间:
2020-02-22 21:47:47
阅读次数:
56