如何构建指定格式的字符串金字塔?求技术实现方案
字符串金字塔构建实现
规律总结
观察两个示例的输入输出,可提炼出核心规则:
- 金字塔总行数等于输入字符串的长度
- 对第
k行(k从1到字符串长度n):- 若
k为奇数:直接截取字符串的最后k个字符输出 - 若
k为偶数:截取字符串的最后k个字符,反转后输出
- 若
代码实现
function buildStringPyramid(word) { const totalLines = word.length; for (let lineNum = 1; lineNum <= totalLines; lineNum++) { // 截取字符串最后lineNum个字符 const targetChars = word.slice(-lineNum); // 根据行数奇偶性决定是否反转 const outputLine = lineNum % 2 === 0 ? [...targetChars].reverse().join('') : targetChars; console.log(outputLine); } } // 测试示例1 console.log('示例1输出:'); buildStringPyramid('foxie'); // 测试示例2 console.log('\n示例2输出:'); buildStringPyramid('3oz4spoon');
代码说明
- 总行数控制:通过
word.length确定金字塔的行数,保证输出行数与输入字符串长度一致 - 字符截取:利用
slice(-lineNum)直接从字符串末尾截取指定长度的字符,简化了索引计算 - 反转处理:偶数行将截取的字符转为数组,通过
reverse()反转后再拼接为字符串,实现逆序输出
内容的提问来源于stack exchange,提问作者Rams_Web
相关产品推荐
相关产品推荐

