重複一次字串 n 次

問題:建立一個包含 n 重複的 String sString

瑣碎的方法將重複連線 String

final int n = ...
final String s = ...
String result = "";

for (int i = 0; i < n; i++) {
    result += s;
}

這建立了 n 個新的字串例項,其中包含 1 到 n 重複的 s,從而導致 O(s.length() * n²) = O(s.length() * (1+2+...+(n-1)+n)) 的執行時間。

為了避免這種情況,應該使用 StringBuilder,這樣就可以在 O(s.length() * n) 中建立 String

final int n = ...
final String s = ...

StringBuilder builder = new StringBuilder();

for (int i = 0; i < n; i++) {
    builder.append(s);
}

String result = builder.toString();