function repeat(target, n) { var s = '' while (n > 0) { if (n % 2 === 1) { s += target } if (n === 1) break target += target n = n >> 1 } return s } // 递归尾函数优化:递归时不会在内存上开辟新的函数空间 function repeat(target, n, total = '') { if (n % 2) { total += target } if (n === 1) { return total } target += target return repeat(target, n >> 1, total) }
字符串复制自身的两种高效方法,包含递归尾函数优化
最新推荐文章于 2023-01-03 20:29:50 发布