S013-字符串原位反转
将“I am the good boy”反转变为 “I ma eht doog yob”。
let str = 'I am the good boy'
let arr1 = str.split(' ').reverse()
arr1
(5) ["boy", "good", "the", "am", "I"]
let arr2 = arr1.join(' ')
arr2
"boy good the am I"
let arr3 = arr2.split('').reverse()
arr3
(17) ["I", " ", "m", "a", " ", "e", "h", "t", " ", "d", "o", "o", "g", " ", "y", "o", "b"]
arr3.join('')
"I ma eht doog yob"
解决
function reverseInPlace(str) {
return str.split(' ').reverse().join(' ').split('').reverse().join('')
}
这种问题你说你直接打印,面试时候没地方打印出来的,直接想很可能绕进去。 推荐直接记住 可以这样记:
一半一半 两个部分都是: split.reverse.join
然后前面都是' ';
后面两个都是''