码迷,mamicode.com
首页 > 编程语言 > 详细

字符串的一个算法题

时间:2020-09-24 20:59:45      阅读:41      评论:0      收藏:0      [点我收藏+]

标签:倒序   rev   log   length   art   flag   ram   今天   test   

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

  • 输入: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‘))

字符串的一个算法题

标签:倒序   rev   log   length   art   flag   ram   今天   test   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!