数据结构
文章平均质量分 56
想成为樱木花道的宫城良田
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【三数之和】
如果用以下的去重公式,则会把第一次出现且只出现一次的三元组答案去掉。所以应该使用以下公式,其中i>0是为了保证i-1不溢出。注意要点:答案中不能出现重复的三元组,意味着要去重。当指针移动,要去掉重复的元素。原创 2024-02-25 17:11:38 · 401 阅读 · 0 评论 -
【删除链表的倒数第N个结点】
Problem: 19. 删除链表的倒数第 N 个结点文章目录思路Code思路假设一共有M个结点移动到删除的结点需要M-N步结合链表特性,为了方便删除结点,应该移动M-N-1步采用双指针,fast先移动N步,slow和fast再一起移动,直到fast == NULL采用虚拟头结点Code/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *nex原创 2024-01-02 10:59:01 · 493 阅读 · 0 评论 -
【两两交换链表中的节点】
Q:A:cur->next为空结束cur->next->next为空结束如果是cur->next != NULL || cur->next->next != NULL则当链表为奇数链表时,cur->next != NULL也成立,不符合条件。(根据模拟过程,如果要改变1和2的位置,指针cur需要指向前一个位置,即dummy,同理,改变3和4位置,cur指向2,当3和4交换完毕,cur会指向4,再进行条件判断)注意要点 和顺序不能错,否则会出现空指针异常以下是链表模拟过程步骤一步骤2步骤3原创 2023-12-30 16:48:19 · 442 阅读 · 0 评论 -
【螺旋矩阵】
能把以上5点想明白就可以开始编程序了原创 2023-12-21 15:34:01 · 498 阅读 · 0 评论 -
【二分算法】
因为是在左闭右开的区间中找,如果right = mid - 1,那就相当于把num[mid - 1]去掉了。这种情况下,left = right是有意义的,故while(left target时,right = mid - 1。当nums[mid] < target时,left = mid + 1。当nums[mid] < target时,left = mid + 1。当nums[mid] > target时,right = mid。原创 2023-12-14 10:32:51 · 609 阅读 · 0 评论
分享