重複一次字串 n 次
問題:建立一個包含 n
重複的 String s
的 String
。
瑣碎的方法將重複連線 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();