字符串的一个算法题
给定一个字符串,将其按组倒序。
- 输入:
hello world xyz
- 输出:
xyz world hello
// log
/**
* 元素倒序
* @param str string字符串 输入字符串
* @return string{string}字符串
*/
function reverse(str) {
let start = 0
let end = 0
let arr = []
let flag = getFlag(arr[0])
for (let i = 1; i < str.length; i++) {
if (flag !== getFlag(str[i])) {
end = i
arr.push(str.substring(start, end))
flag = getFlag(str[i])
start = i
}
if (i === str.length - 1) {
arr.push(str.substring(start))
}
}
return arr.reverse().join('')
}
function getFlag(str) {
let reg1 = /[\d\w]/
let reg2 = /\s/
if (reg1.test(str)) {
return 1
}
if (reg2.test(str)) {
return 2
}
return 3
}
console.log(reverse('hello world xyz'))