fancycarp
fancycarp
全部文章
分类
题解(44)
归档
标签
去牛客网
登录
/
注册
fancycarp的博客
全部文章
(共7篇)
NC51 #合并k个已排序的链表#
思路和合并两个链表一样,多写个for循环而已 class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if(l1 == nullptr) return l2; ...
链表
2021-05-12
0
406
NC40 #两个链表生成相加链表#
先反转链表,然后逐个加和并计算进位,最后再反转回来。 class Solution { public: ListNode* reverse(ListNode* head) { ListNode *pre = nullptr, *cur = head, *next = ...
链表
2021-05-09
0
365
NC66 #两个链表的第一个公共结点#
两个指针分别把两个链表a,b各走一遍,因为len(a + b) = len(b + a),所以相遇的时候就是第一个公共节点了。 class Solution { public: ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode...
链表
双指针
2021-05-08
0
348
NC53 #删除链表的倒数第n个节点#
先便利一遍查数,然后再走一遍删节点。 class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { int count = 0; ListNode *pHead = h...
链表
双指针
2021-05-08
0
480
题解 | #链表中的节点每k个一组翻转#
非递归:分成K组,每一组单独调用普通的链表反转函数。 class Solution { public: ListNode* reverseKGroup(ListNode* head, int k) { ListNode * dummy = new ListNode(0); ...
递归
链表
2021-05-06
0
384
NC33 #合并有序链表#
非递归方法: class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if(l1 == nullptr) return l2; if(l2 == nullpt...
递归
链表
2021-05-05
0
400
NC78 #反转链表#
解法一:双指针注意点:left要初始化为NULL class Solution { public: ListNode* ReverseList(ListNode* pHead) { ListNode* left = NULL, *right = pHead; ...
递归
链表
双指针
2021-05-04
0
428