030 单向链表 get
不会提前拿到所有的索引值,这样维护起来非常不方便。因此,我们是在遍历的时候得到他的索引值
%d:数字的占位符就是用百分号d表示
%n:换行符
thinking:String.format()?
031 单向链表 insert
![](https://img-blog.csdnimg.cn/direct/f25faf5b261d4cd4961cdd9a17e45c8d.png)
032 单向链表 removeFirst
在JAVA语言中,如果一个元素没有任何人引用它了,垃圾回收的时候就可以收回它的内存。
![](https://img-blog.csdnimg.cn/direct/2486f4b9c0f04ece8581967c428e624d.png)
033 单向链表 remove
![](https://img-blog.csdnimg.cn/direct/480b335419d34a5096c7ac2cf7c102d3.png)
034 单向链表 带哨兵1
有利于减少代码量
![](https://img-blog.csdnimg.cn/direct/c47c5dc51e284a2ea2769e740d346e3a.png)
035 单向链表 带哨兵2
036 双向链表 带哨兵1
037 双向链表 带哨兵2
双向链表比较大的优势是:他有尾哨兵,因此,不用一个个去找最后一个元素是谁。因此addLast和removeLast的方法优势明显。
038 双向环形链表 带哨兵1
039 双向环形链表 带哨兵2
————————————————————————————————————
一些现象:
最后的代码:
快速生成:
041 递归 定义
042 递归 阶乘
解题思路:
043 递归 反向打印字符串
044 递归 e03 二分查找
采用最基础的二分查找法。