力扣易错:代码
目录
深度优先搜索(递归实现)
- 结果的收集,必须使用
new ArrayList<>(list)
,必须要new
,原因是只收集引用,没有半毛钱用,最后都指向同一个地址,根本没有保存结果!【我在 797 图的深度优先搜索的递归实现中,又又又踩坑了】
图的搜索
- 用哈希表所表示的邻接表构造有向图的时候,最好预先为每个节点进行初始化,分配一个 list,这样避免在之后遇到出度为0的节点的时候,哈希表返回 null,而造成空指针异常。
动态规划
- 搞清楚状态是第一步,这种状态一定是可以进行转换的,可以从一个状态变成另一个状态,是稳定的,只与当前的有关,与之前的、未来的都无关
- 买卖股票,把手中的财富作为状态!
树
- 与树相关的问题,特别要注意,左右指针是否写对了,我曾经把
root.right
通过编辑器的提示直接回车成为了root.left
而出错。
技巧
- 提交之前,自己先想几个特例,看看能不能通过,以此提升自己的正确率,不要寄希望于别人的用例!