摘要:
题目 题解 我们先想一下如果把整个链表翻转的应该怎么做? 是不是可以用栈去存放链表的每一个节点地址 如果再取顶即可 同理 我们可以把每k个节点当作一个链表 然后进行反转 然后连接他们 显而易见可以使用递归法 返回的就是每一个链表的头结点 然后用每一个链表的最后一个结点的next接收 这样所有的链表就 阅读全文
题目 题解 我们先想一下如果把整个链表翻转的应该怎么做? 是不是可以用栈去存放链表的每一个节点地址 如果再取顶即可 同理 我们可以把每k个节点当作一个链表 然后进行反转 然后连接他们 显而易见可以使用递归法 返回的就是每一个链表的头结点 然后用每一个链表的最后一个结点的next接收 这样所有的链表就 阅读全文
posted @ 2022-04-13 10:40
无聊的阿库娅
阅读(40)
评论(0)
推荐(0)

题目 题解 递归法: 先考虑交互的代码 即 list1->next = list2->next; list2->next = list1; 再考虑 如果采用递归的话 每次返回什么? 可以看出 返回的肯定是 本次交换之后第一个节点 然后在上一次递归时用交换之后第二个节点->next 接收 这样就能把所
题目 题解 1.递归/深度优先搜索/二叉树(思路来自 力扣评论区 ChengMing 老哥) 二叉树利用左括号和右括号数量进行递归 然后用一些条件剪枝 还是详细说明一下吧 1.设 n=2 然后画出二叉树(省略了一部分 n=2即有4个字符 所以有5层) 2.由于二叉树是从左开始走所以(反正右面也走不了
题目 题解 1.迭代法 一开始都在头结点 由于1和1相等 我们取任意一个 然后把节点向右移动 我取了上面的1所以上面向右移动 此时 1 1与2比较 1小所以取1 然后下面向右移动 此时1->1 同理2与3比较 2小取2 此时1->1->2 .... 当一个链表已经被取完时 直接取另一个链表即可 都取
题目 题解 方法1:删掉紧矮着的 比如{}{()} 先删成{()} ->{}->空 遍历没有()[]{}这三种情况时 判断一下是否为空即可 但是这样时间复杂度过高 方法2:栈 第一个右括号要与它之前的最后一个左括号匹配 第二个右括号要与它之前的倒数第二个左括号匹配 ..... 所以我们创建一个栈 把
题目 题解 思路:之前做过三数之和 ,那么我们能不能把四数转换成三数呢? 三数 nums[left] + nums[i] + nums[right]==0 四数(这里i我们可以在三数中多加一层循环从左到右 那么此时防止重复i应该从j+1开始 nums[j]也可能重复需要判断) nums[left]
题目 题解 这题我们可以发现用四层循环(即循环第一个数字的字母然后里面套着第二个数字的字母 全部遍历然后输出)应该可以解决这个问题 但是既然是算法题还是中等我们应该另辟蹊径(好像可以用回溯算法 但是这里我这里采用了其他暴力?方法) 观察结果 输出:["ad","ae","af","bd","be",
题目 题解 在上一题中采用了双指针的方法而这次也可以使用 但是左指针要指向i-1 右指针指向i+1 (先排序) 规则1 如果nums[left] + nums[right] + nums[i] > target 则说明left太大 向左移动 left = left - 1; 规则2 如果nums[l
题目 题解 1.先排序 如果遍历一下如果没有正数和负数的临界点 说明只有正数或者只有负数 不可能有三个数加和等于 0,直接返回结果。2.对于重复元素:跳过,避免出现重复解3.令左指针 L=i+1,右指针 R=n-1,当 L<R 时,执行循环:当 nums[i]+nums[L]+nums[R]==0,
题目 题解 1.先找到最短的那个字符 因为公共前缀最长的情况下就是最短的字符本身 2.用最短字符的长度从右往左遍历并与其他字符的相同位置比较(取子字符串用substr 比较用compare) 如果用完全匹配成功的保存一下,然后直接跳出循环即可,这样比起从左向右省下了不少时间 代码 #include<
题目 题解 1.首先 我们可以发现除了千位数以为都是和三个字母有关系(百位是CDM 十位是XLC 个位是IVX) 由于4和9是组合而来所以 我们写一个字符串 判断一下当前位数 然后修改和上面一样(4是第一位和第二位组合 9是第一位和第三位组合) 然后判断一下数的范围添加到字符串后面即可 2.力扣官方
一月追番 BACK ARROW バック・アロウ 工作细胞BLACK はたらく細胞BLACK 从零开始的异世界生活 2 Re:ゼロから始める異世界生活 无职转生 無職転生~異世界行ったら本気だす~ BACK ARROW:每一集最后都会有出乎意料的展开! 工作细胞BLACK:熬夜看这个真的好吗? 从零开
题目 题解 没做出来呜呜呜只能看别人写的题解了 题解看这里 参考题解 作者:zhang-jian-qi-shi 链接:https://leetcode-cn.com/problems/regular-expression-matching/solution/c-dong-tai-gui-hua-by
力扣原题目 刚才有个朋友问我发生什么事了,我说怎么回事,给我发了几张截图。 我一看!嗷!原来是昨天,有两个年轻人。 三十多岁,一个体重,九十多公斤,一个体重八十多公斤。 他们用正则表达式函数直接解决了这道题 这两个年轻人不讲武德,来骗!来偷袭,力扣。这好吗?这不好! 我劝!这位年轻人好自为之,好好反
题目 题解 这题很容易想到把整形转换成字符串然后以中间分割 不断延伸至左右比较即可 但是进阶里要求我们不用字符串 那么我们应该想一下其他方法 观察回文数可以发现 回文数逆向排序后和原本的数 一样 正好在07题学过整数反转拿来用就是(注意:题目要求负数 都不是 而且不要超过int界限) 这种方法确实可
题目 题解 吐槽一下:这题规则过多云里雾里的 耽误了不少时间 怪不得有人说面向实例编程 我们可以翻译一下规则 1.读入字符串并丢弃无用的前导空格=去掉字符串开头的空格 2.检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定
题目 题解 说实话这题应该大家都做过这样翻转整数的题 这题就可以套用 然后由于超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0 所以加个判断就是 正负数一样解法即可 代码 #include<iostream> #include <cmath> using namespa
题目 题解 这个题我并没有做出来 本来想着可能每个字符的位置有规律 所以想了快一个小时 如果你想看完整的题解可以跳转这里 是K神的方法 我也是看了这个才明白的 下面是对这个题解的重新叙述 代码 #include <iostream> #include <string> #include <vecto
需要正式下载的工具 Python :https://www.python.org/downloads/windows/Git:https://git-scm.com/download/winNotepad++:https://notepad-plus-plus.org/downloads/上面三个打
今天 教大家怎么替换火影里面的奥义图 工具:AssetsBundleExtractor AssetStudio 开始教程 首先,我们需要找到你想要改变的奥义图文件(用AssetStudio找 具体怎么找就不说了) 以鹰佐为例 我们用AssetStudio打开鹰佐奥义图文件 然后我们选择导出文件 准备
浙公网安备 33010602011771号