237. 删除链表中的节点

题目链接:https://leetcode.cn/problems/delete-node-in-a-linked-list/

 

136. 只出现一次的数字

题目链接:https://leetcode.cn/problems/single-number/

这个题做出来了,两种方法:1)借助hash表,key是数组中的数字,value是出现次数,第一次遍历数组,把数字和出现次数存到hash表,第二次遍历hash表,把出现次数=1的数字返回;2)先把数组排序,遍历比较排序后的连续2个数字,并记录相等的数字的次数,如果连续次数不超过1,表示数字没有重复,返回即可。

 

104. 二叉树的最大深度

题目链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/

递归方案写出来了,也就是深度遍历方式。

迭代方案没有,也就是广度(层序)遍历方式。写的时候想到的是之前的另一个题目:找树左下角的值( http://aspirer.wang/?p=1643),问题是这个迭代是把所有的节点都遍历一遍,导致没办法计算深度。看了题解才知道要稍微改造下,一次出队一层,也就是遍历一层,而不是一个节点。

 

53. 最大子数组和

题目链接:https://leetcode.cn/problems/maximum-subarray/

仍然是只会最简单的暴力解法,不出意外的运行超出时间限制。。。

等研究官方题解再更新吧。。。。

官方的动态规划法已更新,看得有点迷,动态规划是个神奇的算法。。。。

 

513. 找树左下角的值

题目链接:https://leetcode.cn/problems/find-bottom-left-tree-value/

这道题也没做出来,之前的想法是递归遍历,想到把depth传递给递归函数,但是没把最深的depth和val在递归过程中保存下来,而是在递归函数里返回了val,所以就少实现了最深这个条件。

 

88. 合并两个有序数组

题目链接:https://leetcode.cn/problems/merge-sorted-array/

 

1108. IP 地址无效化

题目链接:https://leetcode.cn/problems/defanging-an-ip-address/

 

26. 删除有序数组中的重复项

题目链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array/

 

1089. 复写零

题目链接:https://leetcode.cn/problems/duplicate-zeros/

 

15. 三数之和

题目链接:https://leetcode.cn/problems/3sum/

还是只会暴力搜索,提交之后就报运行超时(通过用例数:315/318)。。。。看到题目就知道有更好的算法,但是你没做过就是想不到。。。

等我研究官方题解再更新吧。。。官方题解已更新,参考了评论区的改进版本,感觉更容易理解~