作为新手刷leetcode遇到的问题
来源:6-13 更多二分搜索树相关话题
慕斯3185492
2021-01-05
老师好,我是看了您的玩转数据结构的课程刚入门刚开始刷leetcode。发现自己刷的时候各种问题,在一些很简单的问题上很浪费时间…
以这道题为例,递归写法我已经通过,此处用BFS写法。
首先1,就是编译的问题,比如图上这个代码,我花了很久时间,对比题解,不知道为什么编译不通过,这个画红线的地方到底是哪里有问题?
2,我在哪里可以看到Java内置提供的标准库里 数据结构操作的写法?
比如:您课上讲二叉树层序遍历用队列实现时,用的是add remove, 但我看题解上面有人用offer poll , 这我就懵了,我在哪里可以知道官方提供的写法呢?(百度搜了一圈也没找到) 这点很关键,毕竟您的玩转数据结构的课程是自己实现底层数据结构,而刷题用的是Java提供的,可是我在哪里可以知道java提供的呢?
3.就是关于这道题的问题,我这个写法对吗? 我看题解都额外判断了一句while(size>0) 我不明白为什么要加这句话。。。
真心感觉新人在上路的时候,真的是到处都是困难,而且每一个不起眼的小问题自己琢磨要花很多时间,还搞不清楚. … >.<
3回答
-
在哪里可以看到Java内置提供的标准库里 数据结构操作的写法?
我的建议:
1)
如果确认 Java 是主力语言,找一本更加深入的 Java 语言书籍啃一下;比如 Java 核心技术:https://item.jd.com/32640106107.html?cu=true&utm_source=kong&utm_medium=tuiguang&utm_campaign=t_1001542270_1001966948_0_2030986409&utm_term=decf6f434d82425885ab7689f670e9da
2)
学习标准库不需要想着一次向找到一个最大最全的地方一次性把所有接口都学会,这不现实。
既然你看到有人使用 queue 的 offer 或者 poll 方法,你对这些方法不了解,那就再网上查,把这些方法是怎么回事儿搞明白。我网上随便一搜,很多这样的文章,比如这里:https://blog.csdn.net/irving_zhu/article/details/89297465
或者,找介绍整个 queue 的文章,比如这里:https://www.cnblogs.com/lemon-flm/p/7877898.html
3)
如果你一定要找Java标准库的所有接口,那就是 Java 官方文档。以 Queue 为例,就是这里:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Queue.html
但是对于初学者,文档的学习效果是远远赶不上1)读书 和 2)有针对性的根据自己的问题进行搜索学习的。
继续加油!:)
012021-01-07 -
慕斯3185492
提问者
2021-01-05
第三点我也明白了..size是确保每一层的节点都遍历完..
00 -
慕斯3185492
提问者
2021-01-05
关于第一个问题 我已经解决了!!我花了好久才发现 是LinkedList l没有大写
00
相似问题