我有一个关于 Gayl Laakmann McDowell 的《破解代码访谈》(第 5 版)一书中的编程问题。
我不确定我的回答有什么问题?与书中给出的答案相差很大。
public String replace(String str){
String[] words = str.split(" ");
StringBuffer sentence = new StringBuffer();
for(String w: words){
sentence.append("%20");
sentence.append(w);
}
return sentence.toString();
}
最佳答案
书上的问题是这样的:
Note: if implementing in Java, please use a character array so that you can perform this operation in place.
它还表示,您作为输入获得的 char 数组足够长,可以容纳修改后的字符串。
通过使用 split
和 StringBuffer
,您可以使用额外的 O(n) 空间。这就是为什么您的答案差异很大且不正确(除了添加额外的 "%20"
)。
关于java - 编写一个方法用 '%20' 替换字符串中的所有空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27475308/