自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 乘积小于K的子数组(滑动窗口问题)

关于双指针问题,前面链表部分介绍过快慢指针的问题,而双指针还有一种情况,也就是滑动指针,正好,最近字节跳动青训营出了类似的题目,正式来自力扣的713题而青训营中特别要求满足时间复杂度为O(n),这个题目,我一开始是这样想的,搞两个指针,一个左一个右,开始都位于数组开始的位置,右指针往后走一步,计算一步,直到不满足条件为止,然后left++再次重头再来。代码:int numSubarrayProductLessThanK(int* nums, int numsSize, int.

2022-04-11 23:06:51 297

原创 数据结构-判断两个树是否相同问题

1.相同的树判断两个树是否相同,这种类型题目要用到解决二叉树最经典的递归思想,将大问题变成小问题,比如可以从好判断的方向入手,一个是空指针,另一个也是,这肯定是相同的,一个空指针,一个不是,这两个指针肯定不相同,这边可以用else if来减少代码量。两个指针指向的数据不同,这两个指针肯定不同,然后别的情况可以判断左子树是否相同,右子树是否相同来判断,递归一步步解决这个问题。bool isSameTree(struct TreeNode* p, struct TreeNode* q){

2022-03-27 00:06:12 2179 1

原创 二叉树的深度和平衡二叉树

解决二叉树问题最重要的思想就是递归,而递归和我们高中时学的数列很像,在这个问题里,我们观察其实就可以发现,这个题目的是找最深的那颗子树,也就是说,我们要的是

2022-03-21 13:09:26 135

原创 数据结构——用队列实现栈,用栈实现队列

1,理解栈和队列首先,这里贴一下我写的栈和队列的代码,这些代码实现了栈和队列,可以简单看一下,栈的代码实现的功能#include <stdio.h>#include <stdbool.h>#include <assert.h>#include <stdlib.h>typedef int STDataType;typedef struct Stack{ STDataType* a; int top; int capacity;..

2022-03-18 22:47:19 455

原创 数据结构-力扣重排链表

重排链表 这种类型的题目还是和回文链表相似,思路就是:快慢指针找中点 中点以后反转链表 反转链表后将这个链表每次间隔一下插入原链表 struct ListNode* fast=head,*slow=head; while(fast&&fast->next) { fast=fast->next->next; slow=slow->next; } struct ListNode*p1=..

2022-03-17 20:12:12 260

原创 数据结构:链表相关问题(回文链表)

一、链表的中间结点这种题目有一个非常标准的解题方法,设两个快慢指针,都指向头结点让快指针一次走两个结点,慢指针一次走一个结点,这样,快指针遍历完之后,慢指针就会到达中间结点了。/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* middleNode(struct Li...

2022-03-10 20:06:07 199

原创 数据结构-反转链表问题

一、反转链表 对于这样的链表,进行反转,我们首先考虑用两个指针的方法此时,我们令p1=head;p1->next=p2;然后,我们试着去反转的时候,令p1->next=NULL;p2->next=p1;可是在这个时候,p2->next指向了p1,找不到下一个节点了,也就是说,链子在这里断掉了,而如果想让链子不断,我们可以想到,定义一个p3,使p3等于p2->next,这样,我们可以令p1=p2;p2=p3;而p3本来就连接着后面的节点,令p3=p3...

2022-03-07 20:16:45 484

原创 数据结构入门-顺序表的增删改查

目录一、从数组入手,一步步构建动态顺序表二、顺序表的增删改查1.增2.删3.改4.查总结前言 在学习数据结构的时候,课本上的代码与我们学习C语言的时候有较大出入,这是因为课本在很多地方都用define或者typedef重定义了,我在学习了很多相关视频的情况下,尝试写出一些自己的想法,新手一枚,如有错误,还希望各位大神不吝赐教。 阅读这篇文章需要的基础知识:define和typedef的使用。 malloc和realloc的用法。 指针的基础知识。 a..

2022-03-04 17:41:27 462

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除