九章算法官网-原文网址
http://www.jiuzhang.com/problem/25/
题目
将一个句子中的单词逆序排列。要求使用O(1)的额外存储空间。如I Love You逆序之后是You Love I
解答
定义操作Reverse(start, end),该操作可以使用O(1)的额外空间将start-end这段字符逆序。那么方法是,先将整个字符串反转,然后再遍历每个单词,将每个单词单独反转。
面试官角度
这个题目可能你还会想到其他的解法。但是这个解法是面试官想要的。这个题目还会要求实现。O(1)的空间复杂度内实现Reverse的方法是通过一前一后两根指针,不停地交换字符直到指针相遇。
时间: 2024-10-15 08:47:10