一、题目
二、分析
1.第一种:利用 split 函数 将字符串以空格切割然后组成数组,在用数组倒序输出,然后用 join 函数 给出答案
2.第二种:双指针;头尾部都有空格,所以我们要先去除,然后再利用slice()函数组成一起(a.slice(start,end) end不包括当前位置),如何把组成的字母放到前面,我们可以利用 a.unshift()函数方法(可向数组的开头添加一个或更多元素,并返回新的长度。)
来源:JavaScript Array slice() 方法 | 菜鸟教程 (runoob.com)、JavaScript unshift() 方法 | 菜鸟教程 (runoob.com)
/** * @param {string} s * @return {string} */ var reverseWords = function(s) { let n = s.split(" ");// 将字符串里的字母 以空格进行分割 组成一个数组 let tmp = new Array(); for( let i = n.length-1; i>=0; i--){ // if( n[i] ){ // tmp.push(n[i]); // } // n[i] && tmp.push(n[i]); 上面的if 和 这条语句相同意思 } return tmp.join(" ")//将数组里的元素按着以空格形式分割,组成一个字符串 };
/** * @param {string} s * @return {string} */ var reverseWords = function(s) { let i = 0; let len = s.length; let j = len-1; let tmp = new Array(); // 去头尾空格 while( s[i] == ' '){ i++; } while( s[j] == ' '){ j--; } // 组成新的字符串 s = s.slice(i,j+1); i = 0; j = 0; while( j<len ){ while( j<len && s[j] !=' '){ j++; } tmp.unshift(s.slice(i,j));//组成字母,并放到数组第一位 while( j<len && s[j] ==' '){ j++; } i = j; } return tmp.join(" "); };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现