时间:2021-07-01 10:21:17 帮助过:40人阅读
首先将I am boy转为yob ma I,str[0]与str[len-1]交换顺序,空间复杂度为O(1)。然后yob ma I中每个单词应用同样的方法翻转。
function reverse(str) { var strArr = str.split(""); var len= Math.floor(str.length/2),strLen = str.length-1; for(var i=0;i<len;i++){ var temp = strArr[i]; strArr[i] = strArr[strLen - i]; strArr[strLen - i] = temp; } return strArr.join(""); }function reverseWord(str) { str = reverse(str); var strArr = str.split(" "); var newArr = strArr.map(function (item) { return reverse(item); }); return newArr.join(" "); } console.log(reverseWord("I am boy"));
(1)注意需将字符串转为字符数组,因为数组为引用类型,相互交换可以更改原始值,而字符串不行。比如:
var str = "boy";str[0].=str[2]; console.log(str);
(2)问题:引入了新数组newArr
以上就是翻转单词顺序的简单方法的详细内容,更多请关注Gxl网其它相关文章!