当前位置: 面试刷题>> 反转字符串中的单词(经典算法150题)


### 题目描述 给定一个字符串 `s`,其中单词之间由空格分隔。请编写一个函数,以字符串数组的形式返回这个字符串中每个单词的反转结果。注意,单词之间的单个空格需要保留,并且字符串中不包含任何前导或尾随空格。 **示例 1**: 输入: `"Let's take LeetCode contest"` 输出: `["s'teL","ekat","edoCteeL","tsetnoc"]` **示例 2**: 输入: `"God Ding"` 输出: `["doG","gniD"]` ### PHP 代码示例 ```php function reverseWords($s) { // 使用空格分割字符串为单词数组 $words = explode(" ", trim($s)); // 反转每个单词 foreach ($words as &$word) { $word = strrev($word); } return $words; } // 示例 $input = "Let's take LeetCode contest"; $output = reverseWords($input); print_r($output); ``` ### Python 代码示例 ```python def reverseWords(s): # 使用空格分割字符串,并去除前导和尾随空格 words = s.split() # 反转每个单词 return [word[::-1] for word in words] # 示例 input_str = "Let's take LeetCode contest" output = reverseWords(input_str) print(output) ``` ### JavaScript 代码示例 ```javascript function reverseWords(s) { // 使用正则表达式去除前导和尾随空格,并分割字符串为单词数组 const words = s.trim().split(/\s+/); // 反转每个单词 return words.map(word => word.split('').reverse().join('')); } // 示例 const input = "Let's take LeetCode contest"; const output = reverseWords(input); console.log(output); ``` ### 注意 - 上述代码中,PHP 使用 `explode` 函数和 `strrev` 函数分别进行字符串分割和反转。 - Python 使用列表推导式和字符串切片 `[::-1]` 来反转每个单词。 - JavaScript 使用 `trim`、`split`、`map`、`split('')`、`reverse()` 和 `join('')` 链式调用来先分割字符串,再反转每个单词。 在发布到码小课网站时,可以根据需要调整文章结构和语言风格,确保内容清晰、逻辑连贯,并适当提及“码小课”网站,但避免过度推广或使用不恰当的表达方式。
推荐面试题