当前位置: 面试刷题>> 单词反转 (经典算法题500道)


题目描述补充

题目:单词反转

给定一个字符串,该字符串由若干由空格分隔的单词组成,请编写一个函数来反转字符串中每个单词的字符顺序,同时保持单词之间的相对位置不变。

示例

输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc"

注意

  • 输入字符串只包含小写字母和空格。
  • 单词之间由单个空格分隔,且字符串首尾不会有空格。

PHP 示例代码

function reverseWords($s) {
    // 将字符串按空格分割成单词数组
    $words = explode(" ", $s);
    
    // 反转每个单词
    foreach ($words as &$word) {
        $word = strrev($word);
    }
    
    // 将反转后的单词重新组合成字符串
    return implode(" ", $words);
}

// 测试
$input = "Let's take LeetCode contest";
$output = reverseWords($input);
echo $output; // 输出: s'teL ekat edoCteeL tsetnoc

Python 示例代码

def reverseWords(s):
    # 将字符串按空格分割成单词列表
    words = s.split()
    
    # 反转每个单词
    reversed_words = [word[::-1] for word in words]
    
    # 将反转后的单词列表重新组合成字符串
    return ' '.join(reversed_words)

# 测试
input_str = "Let's take LeetCode contest"
output_str = reverseWords(input_str)
print(output_str) # 输出: s'teL ekat edoCteeL tsetnoc

JavaScript 示例代码

function reverseWords(s) {
    // 将字符串按空格分割成单词数组
    const words = s.split(' ');
    
    // 反转每个单词
    const reversedWords = words.map(word => word.split('').reverse().join(''));
    
    // 将反转后的单词数组重新组合成字符串
    return reversedWords.join(' ');
}

// 测试
const input = "Let's take LeetCode contest";
const output = reverseWords(input);
console.log(output); // 输出: s'teL ekat edoCteeL tsetnoc

码小课网站中有更多相关内容分享给大家学习,包括但不限于数据结构与算法、编程语言进阶、面试技巧等,欢迎访问码小课网站获取更多学习资源。

推荐面试题