java - 编写一个方法用 '%20' 替换字符串中的所有空格?

标签 java arrays string char

我有一个关于 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 数组足够长,可以容纳修改后的字符串。
通过使用 splitStringBuffer,您可以使用额外的 O(n) 空间。这就是为什么您的答案差异很大且不正确(除了添加额外的 "%20")。

关于java - 编写一个方法用 '%20' 替换字符串中的所有空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27475308/

相关文章:

java - 匹配两个很长容器中的两个 ID 的有效方法

java - 如何自定义 onDraw 来绘制其他组件的空间

python - 通过比较两个数组计算百分比误差

sql - 如何在 postgresql 中将 json 数组转换为行

arrays - 从 powershell 中的管道属性获取值(value)

java - 当在字符串变量值中找到\n时如何打印换行符?

java - JMM 中的执行和因果关系要求

java - 在 weka 中添加一个新实例

java - Atmosphere 样本 : Can't get chat demo working (atmosphere. js 给出 404)

c - 如何反转一个char数组,然后将反转后的char数组存储到另一个数组中?