好的公司网站,做生蚝的网站,外贸有哪些网站,酷家乐线下培训班目录
1,题目
2#xff0c;代码
1#xff0c;利用js函数
2#xff0c;双指针
3#xff0c;双指针加队列
3#xff0c;学习与总结
1#xff0c;正则表达式 / \s /#xff1a;
2#xff0c;结合使用 split 和正则表达式#xff1a; 1,题目
给你一个字符串 s 代码
1利用js函数
2双指针
3双指针加队列
3学习与总结
1正则表达式 / \s /
2结合使用 split 和正则表达式 1,题目
给你一个字符串 s 请你反转字符串中 单词 的顺序。
单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。
返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。
注意输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中单词间应当仅用单个空格分隔且不包含任何额外的空格。
重点看例3的效果 2代码
1利用js函数
/*** param {string} s* return {string}*/
var reverseWords function(s) {return s.trim().split(/\s/).reverse().join( );
};
2双指针 字符串的遍历 字符串函数 substring /*** param {string} s* return {string}*/
var reverseWords function(s) {// 去掉收尾的空格ss.trim();let i s.length -1,ji;let res [];while(i 0){while(i0s[i]! ) i--;// substring有返回值 且前闭后开res.push(s.substring(i1,j1));while(i 0 s[i] ) i--;ji;}return res.join( ).trim();
};
3双指针加队列
/*** param {string} s* return {string}*/
var reverseWords function(s) {// 去掉收尾的空格ss.trim();let i 0,ji;let res [];while(i s.length ){while(i s.length s[i]! ) i;// substring有返回值 且前闭后开res.unshift(s.substring(j,i));while(i s.length s[i] ) i;ji;}return res.join( ).trim();
};
3学习与总结
1正则表达式 / \s /
正则表达式是一种文本模式用于匹配字符串中的字符组合。在这个表达式中\s 和 有特殊的含义。\s代表空白字符的匹配项包括空格、制表符tab、换行符等。紧跟在 \s 后面表示匹配一个或多个前面的字符。因此\s 匹配一系列的一个或多个连续空白字符。
2结合使用 split 和正则表达式
当将正则表达式 /\s/ 作为 split 方法的参数时意味着字符串将按照一个或多个连续空白字符来分割。这意味着无论是空格、制表符、还是换行符只要是连续出现的空白字符都将被用作分割点。分割后原字符串就被分解成多个部分每个部分是原字符串中由非空白字符组成的序列这些部分被存储在一个数组中。 字符串操作函数有待更加熟练
重点在于 函数的利用和方法的优化。