字符串的一个算法题

时间:2020-09-23 09:16:24   收藏:0   阅读:45

今天好未来笔试的一个题:给定一个字符串,将其按组倒序。

// 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‘))

原文:https://www.cnblogs.com/oceans/p/13715700.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!