自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 括号的最大嵌套深度---(C++)

遇到左括号栈的大小+1(进栈),遇到一个右括号则说明与一个左括号进行了匹配,栈的大小-1(出栈),则此时还有size-1个左括号,则字符串后一定还有size-1个右括号要与这size-1个左括号匹配,若再无左括号,嵌套深度就为栈大小的最大值,若还有左括号,则还会有右括号与之匹配,因此这就是使用max的原因。遍历字符串,遇到左括号(,栈的大小+1(进栈),遇到右括号),栈的大小-1(出栈)。此题直接给定有效括号,则其所有输入的括号均为有效括号,括号题一般都可用数据结构---栈 来处理。

2024-04-17 22:06:41 189 1

原创 有效的括号(栈)

链接力扣题目20.

2024-04-16 10:56:12 610

原创 移除链表元素(C++)

链接题目力扣203以下介绍两种方法,分别为迭代法和递归法。

2024-04-14 13:10:04 400 1

原创 二刷反转链表(c++)

4.最后返回值设置成了右指针,完成循环后此时右指针指向应为空,而此时左指针指向的为新链表的第一个结点。二刷这道题使用了掌握良好的双指针法,虽然思路还在,但代码还是零零星星的有问题。2.设置好临时指针后又忘记了临时指针也要放到循环里面参与遍历。二刷虽然效果不好,但发现了很多问题,也对此题更熟练了!半个月没有刷题,生疏了好多,从今天起一天至少一道!1.忘记设置一个临时指针来指向右指针的下一个结点。3.完全忘了左指针如何设置。

2024-04-13 22:14:05 107

原创 数据结构-栈(c++)

本文介绍用顺序表实现栈的代码:栈是一种线性表,具有先进后出的特点,可以将栈类比为叠盘子或一层一层的包子蒸笼,在实际应用中体现在网页的前进后退等方面。

2024-03-28 18:51:05 287

原创 被ai整怕了

找了半天没有发现这个问题,文心ai直接秒了,真的是被ai整的汗流浃背了。

2024-03-21 18:45:00 201 1

原创 LCR.191(剑指offer66-C++)

使用两个数组L和R且两数组元素均为1,L[i]表示a[i]左边的乘积,而。最后正向遍历相乘,result[i]=L[i]= L[i]×R[i];另外,当i=0时,第一次正向遍历并没有包含i=0,L[0]=1。R[i]表示a[i]右边的乘积,那么L和R对应位置的。反向遍历,R[j]=R[j+1]×a[j+1];正向遍历,L[i]=L[i-1]×a[i-1];

2024-03-13 23:27:02 111

原创 LCR.139(剑指offer21-C++)

大体思路:初始化两个指针i和j,分别指向数组的第一个元素和最后一个元素。因为要将奇数放到偶数前,则指针i从左往右找偶数,指针从右往左找奇数,两指针找到后交换位置。

2024-03-13 22:54:07 251

原创 LeetCode160.相交链表(C++)

具体实现:需要指针A、B同时遍历各自所指向的链表,并用到三目运算符,当A、B指针不指向为空指针,便移动到下一个结点;当为空时,A移动headB,B移动到headA。若存在交点两指针通过遍历两个链表必回指向所相交的结点,最后返回这个结点。大体思路:定义两个指针A、B,分别初始化为链表A的和链表B的头结点,当A=B(两指针)所指向的相等时,则为相交的结点。如果相互有交点,走过你来时的路,我们终会相遇!

2024-03-11 23:35:08 120 1

原创 反转链表(C++)

再将第四个结点所指向的第五个结点为空(第19行代码),这便实现了第五个和第四个链表的反转,返回cur,还会再找调度head为4的时候,即head为3,再反转依此类推,便实现了链表反转,而cur指向了反转链表后的头结点。第18行代码,head-﹥next->next表示为第四个结点的next指针域所指向的结点指针域(即为第五个结点的next指针域所指向的)为等号右边head,此时head为4,则意味着第五个结点指向了第四个结点。首先,定义两个指针,cur指针指向头结点,mi指针初始化为NULL。

2024-03-10 09:13:35 935

原创 第k个链表元素(C++)

输出第k个元素需用到k自减循环,在嵌套选择结构,判断cur指针指向的结点是否为空结点。若不是则cur指针移动到cur指针所指向的next指针域所指向的元素(将cur移动到指向下一个结点);因为要循环k次,最后一次循环结束时,cur指向的结点即为第k个结点。>输出的k可能会超过链表或为0,即cur指针会指向NULL或虚拟头结点,则输出超出范围(此处输出内容欠妥)否则输出当前指针指向的val值。输入n,k,构建一个长度为n的链表,并且输出第k个链表元素。基本思路:先构建链表,输出第k个元素需用到循环。

2024-03-09 15:28:41 456 1

原创 链表基础知识1(C++)

首先创建一个新结点,初始化值为val,使用一个cur指针,且cur指针指向链表的尾结点,将cur指向结点的next指针域指向新的结点,最后移动cur指针,指向新插入的结点。到此,cur指针指向新插入的尾结点。>链表的第一个结点的存储位置被称为头指针,通过next指针域找到下一个结点,直到找到最后一个结点,最后一个结点的next指针域为空指针,用null表示这个空指针。>为方便链表操作,会在链表第一个结点前添加一个虚拟头结点(dummyNode),此节点数据域为空,指针域指向第一个结点。

2024-03-08 19:59:22 231 1

原创 LeetCode.203.移除链表元素

代码主体先循环直到最后结点,当遇到所需删除元素,进行链表删除操作,还需删除结点内存。例如删除结点p后续结点:p->next = p->next->next;当第一个结点为所需移除链表元素时,添加虚拟头结点会更好处理。对于c++而言还需手动释放内存空间。记录第一次分享力扣题解思路。算法知识:链表元素的删除。

2024-03-08 00:28:29 131 1

空空如也

空空如也

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

TA关注的人

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