一天一大 lee(反转字符串中的单词 III)难度:简单-Day20200830
时间:2022-07-25
本文章向大家介绍一天一大 lee(反转字符串中的单词 III)难度:简单-Day20200830,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目:[1]
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例
输入:"Let's take LeetCode contest"
输出:"s'teL ekat edoCteeL tsetnoc"
提示
在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
抛砖引玉
抛砖引玉
思路
分割字符逐个翻转:
- 使用空格切分单词
- 遍历单个单词,这个拼接(也可以转换成数组,然后借助数组 reverse 方法翻转,详见方法 2)
- 遍历单词 list,逐个拼接回字符串
注意
- 在分割子串时可能会在子串的首位或者末尾出现多余的空字符,使用 trim 清除
/**
* @param {string} s
* @return {string}
*/
var reverseWords = function (s) {
// 翻转字符串
function reverseStr(str) {
let result = '',
n = str.length,
i = 0
while (i < n) {
result = str[i] + result
i++
}
return result
}
let _result = '',
len = s.length
if (len === 0) return _result
let words = s.split(' '),
wordsLen = words.length
// 分割字符逐个翻转
for (let i = 0; i < wordsLen; i++) {
_result = _result + ' ' + reverseStr(words[i])
}
return _result.trim()
}
数组 reverse 方法
利用数组 reverse 颠倒元素
- 将单个字符分割后存到数组
- 逐个对单个字符转换成数组颠倒在转换成字符串
- 最后讲数组拼接成字符串
/**
* @param {string} s
* @return {string}
*/
var reverseWords = function (s) {
return s
.split(' ')
.map((item) => Array.from(item).reverse().join(''))
.join(' ')
}
参考资料
[1]
题目:: https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Mysql快速导入数百万条数据,亲测有效
- [面试题06]从未到头打印链表(LeetCode-剑指Offer)
- SpringBoot集成RabbitMQ-三种模式的实现
- Centos7-Docker卸载旧的更新到新版本
- vue vuecli3 前端解决跨域问题
- 求求你,不要再纠结指针了(1) ——万能转化公式
- 求求你,不要再纠结指针了(2)——函数指针
- 用Python解决100个问题 | 倒计时
- 【转载】【ionic+angularjs】angularjs ui-router路由简介
- 实时性迷思(1) —— “快是优点么?”
- Java中Thread的join方法为什么能让线程插队?
- 再见 ELK,是时候拥抱下一代日志系统 Loki 了
- 利用VBAProject来共用VBA代码
- 线上频出MySQL死锁问题!分享一下自己教科书般的排查和分析过程!
- 换人!这些算法都不会还学什么操作系统