java:使用 StringBuilder 在开头插入

2022-08-31 09:34:18

我只能用String来做这件事,例如:

String str="";
for(int i=0;i<100;i++){
    str=i+str;
}

有没有办法用StringBuilder实现这一目标?谢谢。


答案 1
StringBuilder sb = new StringBuilder();
for(int i=0;i<100;i++){
    sb.insert(0, Integer.toString(i));
}

警告:它违背了StringBuilder的目的,但它可以满足您的要求。


更好的技术(虽然仍然不理想):

  1. 反转要插入的每个字符串。
  2. 将每个字符串追加到 .StringBuilder
  3. 完成后反转整个过程。StringBuilder

这会将 O(n²) 解转换为 O(n)。


答案 2

您可以使用strbuilder.insert(0,i);