557.回转字符串中的短语III(javascript)557.ReverseWordsinaStringIII

原创
小哥 3年前 (2022-11-10) 阅读数 2 #大杂烩

给定字符串 s ,您需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
Given a string s, reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.

示例 1:

输入:s = "Lets take LeetCode contest"
输出:"steL ekat edoCteeL tsetnoc"

示例 2:

输入: s = "God Ding"
输出:"doG gniD"

Example 1:

Input: s = "Lets take LeetCode contest"
Output: "steL ekat edoCteeL tsetnoc"

Example 2:

Input: s = "God Ding"
Output: "doG gniD"

var reverseWords = function (s) {
    let list = s.split( )
    let len = list.length
    let newList = []
    for (let i = 0; i < len; i++) {
        newList.push(list[i].split().reverse().join())
    }
    return newList.join( )
};

代码优化

var reverseWords = function (s) {
    let list = s.split( )//字符串由空格分隔。,成数组
    for (let i = 0; i < list.length; i++) {
        list[i] = list[i].split().reverse().join() //遍历数组, 每个值都是 reverse()
    }
    return list.join( )// 拼接数组, 用空格分隔
};

再次优化而不分配其他空间。

var reverseWords = function (s) {
    return s.split( ).map(item => {   // 字符串由空格分隔。, 每个字都是一个数组形式的值。
        return item.split().reverse().join()    // 遍历数组, 每个值都是 reverse()
    }).join( )  // 拼接数组, 用空格分隔
};

leetcode: https://leetcode.cn/problems/reverse-words-in-a-string-iii/

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除