分为几个大部分:
-
数组
最先接触的部分,虽然说感觉是最简单的,但是需要掌握好基础,特别是小心循环。这里面需要再仔细看的就是螺旋矩阵那一块,其他的在后续刷的时候能用一种方法一次a就行。
-
链表
需要注意链表的基础概念以及链表的初始化代码。单链表、双链表的区别和写法(一般是用的单链表)。
一类难度:链表的基本操作
二类难度:链表相交,环形链表
-
哈希表
哈希表的底层逻辑很重要,尝试去看红黑树了,找了好几个博客和视频。。没看懂呜呜呜,越看越烦,选择放一下,之后再来补。
需要注意:Map,Tree,Set这三类分别怎么用,以及有什么特点,需要在什么场景使用。
-
字符串
字符串的话需要了解区分字符串和字符数组的转换区别,有很多常用的方法比如subString啥的都还不是很熟悉,不会马上想到,需要再提升熟悉度吧。
-
双指针法
双指针法就是一种常用方法了,之前说到的几大部分其实都有用过。双指针的快慢指针,左右指针,甚至说滑动窗口,都需要很熟悉,看到题就要想到是否可以用双指针。
做了一些题感觉下来,双指针不一定是复杂度最低的,但一定是最好理解的。
-
栈与队列
首先就是栈和队列的基础理论,注意区别,以及queue和deque的一些常用方法。
这一块属于是看着解析会