经典字符串操作面试问题?

时间:2010-04-14 06:14:35

标签: string

我计划进行现场面试,所以我准备了几个基本问​​题。根据公司简介,他们在字符串操作问题上很重要。到目前为止,我手动编写了这些函数:

  1. 字符串长度,复制,连续,删除空格
  2. 反向
  3. 字谜
  4. 回文
  5. 有人可以给我一个更经典的字符串问题列表,我可以在去那里之前练习吗?

7 个答案:

答案 0 :(得分:10)

他们可能会问你正则表达式。如果他们使用Java,他们可能会问StringBuffer和StringBuilder的区别。

答案 1 :(得分:5)

句子中的反向词,例如

"string manip interview question"

变为

"question interview manip string"

这个解决方案只使用一个char值的临时空间。

答案 2 :(得分:3)

确保您的撤销就位。你没有陈述,所以也许它已经是。

我想,要求你重新实施strstr()strtok()也可能是他们的小巷。

更新:作为奖励,如果您最终重新执行其中任何一项,请记住将您的功能命名为str,因为该命名空间是保留的。让候选人显示面试中的知识会让我印象深刻,至少。 :)

答案 3 :(得分:2)

快速搜索,如Boyer-Moore和Knuth-Morris-Pratt。通过一次检查多个字节来快速strlen。使用Rabin-Karp同时在大量文本中查找多个字符串。寻找与Levenshtein距离最近的匹配。正则表达式以及它们如何实现它的一部分。各种unicode和其他多字节字符串编码以及如何在它们之间进行转换。

答案 4 :(得分:2)

设计正则表达式库。

答案 5 :(得分:1)

检查this。可能不符合“经典”的描述,但非常有趣。

答案 6 :(得分:1)

我会在一本好的算法书中查找字符串算法。例如,Boyer-Moore算法,Tries,Suffix Trees,Minimum Edit Distance,这样的东西。

相关问题