![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LC修行
黑白灰白黑
这个作者很懒,什么都没留下…
展开
-
leetcode2--add two numbers(两数之和)
思路为对应位相加,用flag数组存进位信息,ans数组存每个位处理后的数值,处理每个位包括两种情况:一个是低位进1该位加1,一个是该位要进位减10。处理完每个位后还要注意最高位的进位:如果最高位有进位的话是要产生一个新的最高位。最开始的想法是将两个链表给的信息转化为整数,再将两个整数相加,最后将和转化为一个链表。最后想说的一点是对两个链表的处理,如果两个链表等长,那没啥好说的。先处理两个链表均不为空的部分,再处理剩下的部分。在力扣中,这道题结点数在【1,100】内,因此ans数组可设的比100大点。原创 2024-08-12 10:14:14 · 352 阅读 · 0 评论 -
leetcode3--Longest Substring Without Repeating Characters(无重复字符的最长子串)【滑动窗口】
正如标题所述,该题会用到滑动窗口的思想,那么什么是滑动窗口以及什么时候使用呢?顾名思义,滑动窗口就是可滑动的窗口,这里的窗口即代表所包含的子串,滑动代表所包含的子串可以依次滑动(一般都是从左到右滑动),我们只需要创建两个指针(广义指针,并非术语指针)来表示窗口的左右边框,就可以表示该滑动窗口。那创建完窗口后怎么操作捏?让右指针先右移1,判断现在的子串是否符合题目要求。如果符合右指针就继续右移;如果不符合左指针右移1,并判断现在是否符合,不符合则继续移动。//以下是该模板伪代码。原创 2024-08-14 12:17:19 · 1063 阅读 · 0 评论 -
leetcode203--移除链表元素
本题较为简单,值得一提的是为了保证头节点的处理与其他结点一致,常会加一个虚拟头节点dummyhead(本题中我用的是ans表示)。此外,由于C++没有自动内存管理,所以在确定一个结点是要删除的结点时应该delete掉,题目比较简单,就不再赘述了,有疑问的话欢迎大家评论或私聊交流呦^O^时间复杂度如下图,可以看出时间很快,嘎嘎(๑•̀ㅂ•́)و✧。如果当前结点不符合要求,才需要后移指针。,请你删除链表中所有满足。给你一个链表的头节点。原创 2024-08-23 14:47:53 · 146 阅读 · 0 评论