码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-05-12 15:50:50      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:两根指针   leetcode   lintcode   九章算法   面试题   

九章算法官网-原文网址

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


题目

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


解答

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


面试官角度

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

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

标签:两根指针   leetcode   lintcode   九章算法   面试题   

原文地址:http://blog.csdn.net/jiuzhang_ninechapter/article/details/45668961

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!