leetcode
小鬼漫步
这个作者很懒,什么都没留下…
展开
-
leetcode——3
第四天leetcode刷题 解题思路:运用最小堆,先去每个链表的第一个元素构建最小堆,由于链表都是已排序的,因此,每次堆的顶部都是最小的元素,这里用优先队列实现最小堆。 具体代码实现如下: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; *...原创 2019-04-03 21:28:41 · 113 阅读 · 0 评论 -
leetcode——4
第五天leetcode刷题 解题思路:不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 具体代码实现如下: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next...原创 2019-04-04 16:43:38 · 102 阅读 · 0 评论 -
leetcode——0
leetcode 解题思路: 这题的的关键在于链表的数储存是倒序的,因此只要从链表头相加,再将所得数挨个储存即可,但是要注意两数相加有可能大于10要进一位。 具体代码实现如下: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * L...原创 2019-03-31 20:57:51 · 99 阅读 · 0 评论 -
leetcode——5
第六天leetcode刷题 25.reverse nodes in k group Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. k is a positive integer and is less than or equal to the len...原创 2019-04-05 23:22:21 · 88 阅读 · 0 评论 -
leetcode——6
第七天leetcode刷题 61.reverse nodes in k group Given a linked list, rotate the list to the right by k places, where k is non-negative. Example 1: Input: 1->2->3->4->5->NULL, k = 2 Output: 4-...原创 2019-04-06 19:57:36 · 97 阅读 · 0 评论 -
leetcode——1
第二天leetcode刷题 解题思路:删除倒数第n个数,为了防止链表长度为1时的空指针异常,先插入一个链表头,接着我们只要先遍历链表,计算出链表的总长度,再用总长度减去 n 就是我们要删除的数的前一个数距链表头的长度,接下来只要用个循环找到并删除要删除的节点即可。 具体代码实现如下: /** * Definition for singly-linked list. * struct List...原创 2019-04-01 18:51:11 · 94 阅读 · 0 评论 -
leetcode——2
第三天leetcode刷题 解题思路:首先这两个链表是排序好的,那么我们先定义一个空链表,再定义两个指针 i,j,按照顺序比较两个链表,如果 i 指向的数字小于 j指向的数字,i 指向的节点插入新链表中,i = i -> next,反之则操作 j。不过要注意其中一个链表可能会先结束,所以另一个未结束的链表直接插入新链表即可 具体代码实现如下: /** * Definition for s...原创 2019-04-02 20:20:55 · 103 阅读 · 0 评论