面试题 5:替换空格

请实现一个函数,把字符串中的每个空格替换成“20%”。例如,输入“We are happy.”,则输出“We%20are%20happy.”。

  • URL参数中含有特殊字符,如空格、”#”等。会导致服务器端无法获得正确的参数值,转换规则:”%”后面跟上 ASCII 码的两位十六进制的表示。
  • 从前往后复制每个字符则需要重复移动数字多次(O(n^2)),从后往前复制,这样就能减少移动的次数,从而提高效率(O(n))。能清晰地分析出两种不同方法的时间效率各是多少。
  • 画一两个示意图解释自己的思路(两个指针),既能帮助我们厘清思路,也能使我们和面试官的交流变得更加高效。
  • 内存覆盖要有高度的警惕。

Source Code