算法简单题:反转字符串中的单词 III

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

示例:

输入:"Let's take LeetCode contest"

输出:"s'teL ekat edoCteeL tsetnoc"

提示:

在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

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

解题思路:

因为单词的顺序不能变,且考虑到整个字符可能不包含空格符号,所以思路大概就是

1.句子分割成单个单词

2.单词中每个字符放入数组后逆序,再拼装

3.补上分割符合-空格

鄙人答案:


/**

 * @param {string} s

 * @return {string}

 */

var reverseWords = function(s) {

    var items = s.split(' ');//先用空格进行分割

    var ans = items.length ? '' : s.reverse().join('');//这里是处理当只有一个单词的情况

    for(var i =0;i <items.length;i++){

        let item = items[i];//分割后的单词

        item = item.split('').reverse().join('');//先单独将每个字符放入数组,再逆序,逆序完毕后再拼装

        ans=ans+item;//字符串先后拼接

        if(i<items.length -1){

            ans=ans+'  ';//如果不是最后一个,则补上空格符合

        }

    }

    return ans;

};

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。