use StringBuilder, iterate from start to end
class Solution {
public String replaceSpace(String s) {
int spaceCount = 0;
for (char c: s.toCharArray()) {
if (c == ' ') spaceCount++;
}
int newLen = spaceCount * 2 + s.length();
char[] newStr = new char[newLen];
int p1 = newLen - 1, p2 = s.length() - 1;
while (p2 >= 0) {
if (s.charAt(p2) != ' ') {
newStr[p1--] = s.charAt(p2--);
} else {
newStr[p1--] = '0';
newStr[p1--] = '2';
newStr[p1--] = '%';
p2--;
}
}
return new String(newStr);
}
}