本书提供的函数中有大量参数为字符串类型的函数,但如上所示的方式并不符合大多数读者的阅读习惯。为了让代码更加易读,笔者都在这样的函数中把字符串类型的参数转换成char类型数组的变量来使用,例如:
char[] charArr = str.toCharArrayO);
此时得到字符串str 第i个位置的字符,可以用如下方式:
char p = charArr[i];
在本书中,发生如上转换行为的函数在估算额外空间复杂度的时候,笔者并没有把charArr的空间计算在内,这是因为如果不转换成char数组,而是选择直接使用原参数str,也是完全可以的,之所以选择转换,仅仅是为了让读者更容易读懂代码;是否进行转换对算法的逻辑没有任何影响,所以不把charArr的空间算作必须使用的额外空间。
另外,本书涉及的程序源代码可以在htp://www. broadview.com.cn/27011中下载。
内容目录展示
======
第1章栈和队列
![三面蚂蚁惨败,面试官要求手写算法?看完你还觉得算法不重要?](https://imgconvert.csdnimg.cn/aHR0cDovL3AzLXR0LmJ5dGVp 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 bWcuY29tL2xhcmdlL3BnYy1pbWFnZS8zZjg5M2QyNmFjNjA0MzI2YjY5NGY3MWRiY2QwYTQ4Zg?x-oss-process=image/format,png)
第2章链表问题
第3章二叉树问题
第4章递归和动态规划
第5章字符串问题 .
第6章大数据和空间限制.
第7章位运算
第8章数组和矩阵问题
第9章其他题目