1374. 生成每种字符都是奇数个的字符串
给你一个整数 n,请你返回一个含 n 个字符的字符串,其中每种字符在该字符串中都恰好出现 奇数次 。
返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。
class Solution {
public String generateTheString(int n) {
StringBuilder builder = new StringBuilder();
if(n == 0){
return "";
}else if(n % 2 == 1){
for(int i=0;i<n;i++){
builder.append("a");
}
return builder.toString();
}else{
for(int i=0;i<n-1;i++){
builder.append("a");
}
builder.append("b");
return builder.toString();
}
}
}
2、预填充,根据奇偶调整即可
public String generateTheString(int n) {
char[] arr = new char[n];
Arrays.fill(arr, 'a');
if (n % 2 == 1) return new String(arr);
arr[0] = 'b';
return new String(arr);
}
3、相关知识
Arrays.fill()函数
用法1: Arrays.fill( a1, value ); a1是一个数组变量,value是一个a1中元素数据类型的值,作用:填充a1数组中的每个元素都是value
例如:
boolean[] a1 = new boolean[5];
Arrays.fill( a1,true );
结果: a1[] = {true,true,true,true,true};
用法2:String[] a9 = new String[6];
Arrays.fill(a9, "Hello");
Arrays.fill(a9, 3, 5,"World");
结果: a9[] = {Hello,Hello,Hello,World,World,Hello};
第一个参数指操作的数组,第二个和第三个指在该数组的某个区域插入第四个参数,第二个参数指起始元素下标(包含该下标),第三个参数指结束下标(不包含该下标),注意:java的数组下标从0开始