摘要: 难度:【简单】 1. 按自己的思路写一遍,运行报错,看了半天是返回的头节点写错了,应该返回前一个节点而不是最后一个节点(初始链表的最后一个节点是null),改了后就通过了。 2. 官方还提供了递归解法,一开始没太理解,多看一会就懂了。解法如下截图。我觉得“假设n(1)​→…→n(k−1)已反转完成” 阅读全文
posted @ 2023-12-19 17:31 metasequoiaa 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 难度:【简单】 1. 根据自己的思路写一遍,不是最优解没关系,写出来再说。将一个链表遍历并储存到HashSet中,再遍历另一个链表,同时查询当前节点是否已经访问过(HashSet中是否存在)。提交后显示“通过”。 2. 一开始想过双指针,但是想不出来怎么移动。参考官方题解后才明白了“a+c+b=b+ 阅读全文
posted @ 2023-12-18 17:44 metasequoiaa 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 难度:【简单】 第一遍:用最朴素的算法写,一个HashSet保存访问过的节点,但是仅保存了节点的value,出现值相等的节点算法就会失效。提交后当然是“解答错误”。 第二遍:修改HashSet数据类型,重新提交后显示“通过”。 第三遍:优化空间复杂度到O(1)。没有思路就参考了官方题解,使用了快慢指 阅读全文
posted @ 2023-12-16 17:11 metasequoiaa 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 难度:【简单】 1. 第一反应是对每个元素出现的次数计数,然后找到计数为1的元素。但是题目要求额外使用空间为常量,该方法不符合要求。 2. 既然空间复杂度是常数级别,那就尝试用一个变量解决,用一个变量对每个元素计数,当遇到重复的元素时变量置零,但是还是要保存访问过的元素,不符合条件。那么如何能够让该 阅读全文
posted @ 2023-12-14 14:50 metasequoiaa 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 该题难度为【简单】 1. 大致思考了一下,就开始写递归代码,提交一遍就过了。经过前面的练习,遥远的递归记忆慢慢恢复,写出来了,但不是那么真切。 2. 看了一遍官方题解,原来刚才写的是深度优先遍历。 3. 另一种解法是广度优先遍历,看一下题解唤醒大脑储存的知识,把代码实现一遍。不写不知道,写着写着就卡 阅读全文
posted @ 2023-12-13 10:56 metasequoiaa 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 该题难度为【简单】 1. 尝试自己写,哪怕写个暴力解法也行,没写出来,看官方题解。 2. 扫了一眼,不太理解,又想了一会“我代码里漏掉的一半在官方思路中是怎么补上的”,再从头看一遍文字解析,“原来是两棵树对比”。这样思路就清晰了,用递归遍历每个节点,比较每次遍历的“根节点”即可。 3. 写好了代码, 阅读全文
posted @ 2023-12-12 15:29 metasequoiaa 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 该题难度为【简单】 第一遍:暴力解法,写了一个递归,时间复杂度特别高,提交后显示“超时”。 第二遍:看了一遍官方的题解后,使用了一个临时变量保存每一步的计算结果,先查询是否已经计算过,如果查不到结果再计算。提交后显示“通过”。 第三遍:看官方解法的时候,我是先看代码的,完全看不懂为什么用数组循环,看 阅读全文
posted @ 2023-12-11 15:10 metasequoiaa 阅读(15) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示