![](https://i-blog.csdnimg.cn/blog_migrate/d3c0f3dd1976ff690ec53c0e6821a21f.png)
与array , 二叉树和链表数据结构一起, 字符串是编程工作面试时的另一个热门话题。 我从未参加过不询问基于字符串的问题的编码面试。
这很明显,因为我也从未编写过未使用单个String变量的程序。 在任何程序中,您总是会发现String是最常用的数据类型或数据结构之一。
在本文中,我将分享一些我参与过的许多编程访谈中遇到的一些最常见的基于String的编码问题 。 我也有作为候选人和面试官的经验,所以我知道这些问题的重要性。
顺便说一句,如果您不具备数据结构的基本知识或近期没有刷新它们,那么解决这些问题毫无意义。 在这种情况下,我建议您首先阅读一个好的数据结构和算法课程或书以修改概念。
对于每个问题,这将节省您很多时间在本书和您的IDE之间来回切换。
如果您需要资源,我建议您遵循在线课程来学习数据结构和算法,即使它们不依赖于任何编程语言,也强烈建议您参加该课程,该课程解释了您最熟悉的编程语言中的问题。
喜欢
- 数据结构和算法:面向Java开发人员的Java深度学习
- 适用于Python爱好者的Python中的算法和数据结构
- JavaScript算法和数据结构大师班 由Colt Steele为JavaScript程序员编写
- 为精通 C / C ++的人员使用C和C ++掌握数据结构和算法
如何解决基于字符串的编码问题
关于字符串数据结构的好处是,如果您知道数组数据结构,则可以轻松解决基于字符串的问题,因为字符串不过是一个字符数组 。
因此,您通过解决基于数组的编码问题而了解的所有技术也可以用于解决字符串编程问题。
这是我来自编程工作面试中一些常见的字符串编码问题的清单:
- 如何将给定的字符串反转到位? ( 解决方案 )
- 如何从字符串中打印重复的字符? ( 解决方案 )
- 您如何检查两个字符串是否是字谜? ( 解决方案 )
- 您如何找到字符串的所有排列? ( 解决方案 )
- 如何使用递归反转给定的字符串? ( 解决方案 )
- 如何检查字符串是否仅包含数字? ( 解决方案 )
- 如何在给定的字符串中找到重复的字符? ( 解决方案 )
- 如何计算给定字符串中的元音和辅音数量? ( 解决方案 )
- 您如何计算字符串中给定字符的出现次数? ( 解决方案 )
- 如何从字符串中打印第一个非重复字符? ( 解决方案 )
- 您如何像atoi()一样将给定的String转换为int ? ( 解决方案 )
- 如何在不使用任何库方法的情况下反转给定句子中的单词? ( 解决方案 )
- 您如何检查两个字符串是否彼此旋转? ( 解决方案 )
- 您如何检查给定的字符串是否是回文? ( 解决方案 )
- 如何在不重复字符的情况下找到最长子串的长度? (解)
- 给定字符串str,如何找到str中最长的回文子字符串? (解)
- 如何将字节数组转换为String? ( 解决方案 )
- 如何从字符串中删除重复的字符? ( 解决方案 )
- 如何在给定的字符串中找到最大出现的字符? ( 解决方案 )
- 如何从字符串中删除给定字符? ( 解决方案 )
这些问题有助于提高您对字符串作为数据结构的了解。
如果您能在没有任何帮助的情况下解决所有这些String问题,那么您的状况就很好。
对于更高级的问题,建议您解决 Steven Skiena编写的算法设计手册 ,这是一本涉及最难的算法问题的书。
![](https://i-blog.csdnimg.cn/blog_migrate/63a7a390a3ed3b722c31e1fe9e43147e.png)
如果您需要修改数据结构和算法概念,则还可以查看以下资源:
3. JavaScript算法和数据结构大师班 由Colt Steele为JavaScript程序员编写
4.使用C和C ++精通那些精通C / C ++的数据结构和算法
这些是有关数据结构和算法的最佳课程,您可以选择最适合您的课程。 顺便说一句,如果您购买这些课程,我会收到付款
现在您已准备好进行编码面试
这些是数据结构和算法之外的一些最常见问题,可帮助您在面试中表现出色。
我还在javarevisited和java67上分享了很多这些问题,因此,如果您真的很感兴趣,可以随时去那里搜索。
这些常见的基于字符串的问题是您需要知道的才能成功采访任何规模的编程公司的大小公司的情况。
如果您正在寻找2018年的编程或软件开发工作,则可以从此编码问题列表开始进行准备,但还需要准备其他主题。
这份包含50多种数据结构和算法问题的清单为您准备了很好的主题,还有助于评估您的准备工作,以找出您的强项和弱项。
良好的数据结构和算法知识对于成功进行访谈采访至关重要,因此您应该集中精力进行访谈。
进阶学习
每个程序员都应该阅读的10本算法书籍
适用于Java开发人员的前5本书数据结构和算法
从0到1:Java中的数据结构和算法
数据结构和算法分析—求职面试
程序员的50多种数据结构和编码问题
结束语
谢谢,您到了本文的结尾……祝您编程采访顺利! 这当然不会很容易,但是在练习了这些问题之后,您就更近了一步。
如果您喜欢这篇文章,请与您的朋友和同事分享,不要忘记在Twitter上关注javinpaul !
PS —如果您需要一些免费资源,则可以查看此 免费数据结构和算法课程 列表 以开始准备工作。
From: https://hackernoon.com/20-string-coding-interview-questions-for-programmers-6b6735b6d31c