【发布时间】:2017-01-17 18:00:37
【问题描述】:
这是Hackerrank Question的解决方案
String b = new String(in.nextLine());
char[] bCharArray = b.toCharArray();
for (int i = 0; i < n - 2; i++) {
if (b.substring(i, i + 3).matches("010")) {
bCharArray[i + 2] = '1';
b = new String(bCharArray);
counter++;
}
}
现在在 for 循环部分,每次为 String b 创建一个新实例。有没有更好的方法来实现优化的 char[] 到 String 的转换?
【问题讨论】:
-
等等......你从来没有想过在循环外部创建那个字符串?这不是最明显的变化吗?
-
不...没用...我需要在每次迭代时保存对字符串的更改
-
不,你没有,第一个答案告诉你同样的。
-
不,不是@Tom。我刚看了你说的