三木orz
三木orz
全部文章
题解
经验总结(2)
归档
标签
去牛客网
登录
/
注册
三木的博客
记录刷题过程~
全部文章
/ 题解
(共20篇)
题解 | #删除有序链表中重复的元素-I#
双指针,flag标记唯一数,cur标记当前位 class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if(!head) return head; // write code ...
C++
2022-03-04
3
418
题解 | #链表的奇偶重排#
方法一 辅助数组 用两个数组分别储存odd和even位上的值,再修改原链表上节点的val class Solution { public: ListNode* oddEvenList(ListNode* head) { // write code here ...
C++
2022-03-04
0
272
题解 | #单链表的排序#
方法1 开辟新数组 空间复杂度:O(n) ---开辟了一个大小为n的数组储存元素 时间复杂度:O(nlogn) ---对数组里的元素进行排序 根据排序好的数组新建链表 /** * struct ListNode { * int val; * struct ListNode *next; ...
C++
2022-02-28
0
226
题解 | #链表相加(二)#
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} ...
C++
2022-02-28
0
245
题解 | #删除链表的倒数第n个节点#
双指针,先让p走到第n+1个节点处,让q指向头节点,然后p、q同时前进,当p走到链表尽头时,q正好走到倒数第n+1个节点,即要被删除的节点的前一个节点。删除节点。若删除的节点不是头节点,则返回头节点,否则返回头节点指向的下一个节点 /** * struct ListNode { * int va...
C++
2022-02-28
0
284
题解 | #链表中环的入口结点#
先判断有没有环,若有,设置两个指针,一个指向链表起点,一个指向相遇点,同时开始移动,相遇点即为环的入口节点 class Solution { public: ListNode* EntryNodeOfLoop(ListNode* pHead) { ListNode* meet...
C++
2022-02-28
0
284
题解 | #判断链表中是否有环#
设置快慢指针,当快慢指针相遇时,说明链表中有环,一旦某个指针指向空,说明无环 如果先判断再位移,初始时fast和slow指向同一个节点,要单独讨论 if(fast->next->next && slow->next){ fast = fa...
C++
双指针
2022-02-27
0
236
题解 | #反转链表#
三指针pre、cur、rear 头和尾要单独考虑:头节点指向nullptr,尾节点指向pre class Solution { public: ListNode* ReverseList(ListNode* pHead) { if(!pHead) return nullpt...
C++
2022-02-24
0
256
题解 | #二维数组中的查找#
以二维数组右上角元素为起始点,逐步向左向下进行查找 当前元素小于目标值时,说明当前元素左边的元素都比目标值小,向下移一行 当前元素大于目标值时,说明目标值在左边,向左移动 当向下或向左超过数组边界时,查找失败
C++
2022-01-10
0
298
题解 | #数值的整数次方#
双指针,因为是递增数组,所以运用双指针,当s比两数之和小时,将左指针右移一位;当s比两数之和大时,将右指针左移一位 public: vector<int> FindNumbersWithSum(vector<int> array,int sum) { ...
C++
2022-01-01
0
260
首页
上一页
1
2
下一页
末页