logo

反转一句话中单词的顺序(words order),例如 "a b c" → "c b a"。

In a given sentence or an array of characters, reverse the order of words.

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

分类: Algorithms, Strings

标签: Reverse Words, In-place, String Manipulation

目标公司: Microsoft

参考答案摘要

答案 常见两种实现:①如果输入是字符串(高层语言),可以按空格 split 成数组,再双指针交换首尾单词,最后 join;时间 O(n),额外空间 O(n)。②如果输入是字符数组且要求原地(in-place),标准做法是先整体反转全部字符,再逐个把每个单词局部反转回来,这样能在 O(n) 时间、O(1) 额外空间完成。面试时要问清楚边界:多个空格、标点、前后空格、以及是否保留原有空白格式。

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

反转一句话中单词的顺序(words order),例如 "a b c" → "c b a"。

Mediumalgorithmsstringstwo-pointers

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案