当前位置: 面试刷题>> 左填充 (经典算法题500道)


题目描述补充

给定一个字符串 s 和一个整数 n,要求你生成一个新的字符串,该字符串由字符串 s 重复 n 次组成,但要求每次重复时,除了第一次之外,后续的重复都需要在左侧填充一定数量的字符(比如空格 ' '),填充的数量基于重复的次数递增。具体来说,第一次重复不填充,第二次重复左侧填充一个字符,第三次重复左侧填充两个字符,以此类推,直到重复 n 次。

示例

输入:s = "abc", n = 3

输出:"abc abc abc"

解释:第一次 "abc" 不填充,第二次 " abc"(左侧填充两个空格),第三次 " abc"(左侧填充三个空格),但注意这里的输出为了简洁和符合题目要求(不要截断内容或添加表情符号),我们实际输出为 "abc abc abc"

PHP 示例代码

function leftPadRepeat($s, $n) {
    $result = '';
    for ($i = 0; $i < $n; $i++) {
        $spaces = str_repeat(' ', $i); // 生成填充的空格
        $result .= $spaces . $s; // 将空格和字符串拼接
    }
    return $result;
}

$s = "abc";
$n = 3;
echo leftPadRepeat($s, $n); // 输出:abc  abc   abc

Python 示例代码

def left_pad_repeat(s, n):
    result = ''
    for i in range(n):
        spaces = ' ' * i  # 生成填充的空格
        result += spaces + s  # 将空格和字符串拼接
    return result

s = "abc"
n = 3
print(left_pad_repeat(s, n))  # 输出:abc  abc   abc

JavaScript 示例代码

function leftPadRepeat(s, n) {
    let result = '';
    for (let i = 0; i < n; i++) {
        let spaces = ' '.repeat(i); // 生成填充的空格
        result += spaces + s; // 将空格和字符串拼接
    }
    return result;
}

let s = "abc";
let n = 3;
console.log(leftPadRepeat(s, n)); // 输出:abc  abc   abc

码小课网站中有更多相关内容分享给大家学习,欢迎访问码小课网站,获取更多编程学习资源和技巧。

推荐面试题