l1-032 left-pad (20 分)
时间: 2023-04-30 22:01:29 浏览: 156
题目描述
left-pad 是一个常用的 JavaScript 库,可以在字符串的左侧补全指定字符,使字符串达到指定长度。例如 leftpad('hello', 8, '') 返回 '000hello'。
然而,在 2016 年 3 月,npm 上的 left-pad 被作者从仓库中删除,导致依赖该库的许多项目无法正常构建。这个事件引发了广泛的讨论和争议。
现在,请你实现一个 left-pad 的功能,包括以下两个要求:
该函数必须接受三个参数:字符串 str,目标字符串长度 len,以及补全字符 ch。函数的返回值为补全后的字符串。
当 str 的长度小于 len 时,函数会在 str 的左侧补全字符 ch,直到 str 的长度达到 len。
当 str 的长度不小于 len 时,函数会直接返回 str。
输入格式:
输入共一行,包括三个字符串,分别表示 str,len,ch。
输出格式:
输出补全后的字符串。
输入样例1:
hello
10
输出样例1:
00000hello
输入样例2:
hello
5
a
输出样例2:
hello
题目来源
PAT甲级真题
算法标签
字符串
时间复杂度
O(n)
空间复杂度
O(n)
Java 代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
int len = sc.nextInt();
char ch = sc.next().charAt();
StringBuilder sb = new StringBuilder();
for (int i = ; i < len - str.length(); i++) {
sb.append(ch);
}
sb.append(str);
System.out.println(sb.toString());
}
}
阅读全文