九章算法面试题25 反转单词序列

时间:2015-05-12 15:50:50   收藏:0   阅读:131

九章算法官网-原文网址

http://www.jiuzhang.com/problem/25/


题目

将一个句子中的单词逆序排列。要求使用O(1)的额外存储空间。如I Love You逆序之后是You Love I


解答

定义操作Reverse(start, end),该操作可以使用O(1)的额外空间将start-end这段字符逆序。那么方法是,先将整个字符串反转,然后再遍历每个单词,将每个单词单独反转。


面试官角度

这个题目可能你还会想到其他的解法。但是这个解法是面试官想要的。这个题目还会要求实现。O(1)的空间复杂度内实现Reverse的方法是通过一前一后两根指针,不停地交换字符直到指针相遇。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!