面试题:翻转单词顺序VS左旋转字符串题目一:输入

21 查阅
面试题:翻转单词顺序VS左旋转字符串题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串 "I am a student",则

参考答案:

正确答案:

这个题目流传甚广,很多公司都多次拿来作面试题,很多应聘者也多次在各种博客或者书籍上看到过通过两次翻转字符串的解法,于是很快就可以跟面试官解释清楚解题思路:第一步翻转句子中所有的字符。比如翻转”I ama student.”中所有的字符得到”.tneduts a ma I”,此时不但翻转了句子中单词的顺序,连单词内的字符顺序也被翻转了。第二步再翻转每个单词中字符的顺序,就得到了”student.a amI”。这正是符合题目要求的输出。
这种思路的关键在于实现一个函数以翻转字符串

单词