面试题 5. 替换空格

题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.
则经过替换之后的字符串为We%20Are%20Happy。

Java 实现

public class Solution {public String replaceSpace(StringBuffer str) {if(str==null||str.length()==0)return str==null?null:str.toString();int oldLen = str.length();for(int i=0;i<oldLen;i++){if(str.charAt(i)==' '){str.append("  ");//每遇到一个空格,添加两个空格来补充}}int newLen = str.length();int p1 = oldLen - 1,p2 = newLen - 1;while(p1>=0&&p2>p1){char c = str.charAt(p1--);if(c==' '){str.setCharAt(p2--, '0');str.setCharAt(p2--, '2');str.setCharAt(p2--, '%');}else{str.setCharAt(p2--, c);}}return str.toString();}
}

转载于:https://www.cnblogs.com/hglibin/p/9029397.html

【剑指offer】面试题 5. 替换空格相关推荐

  1. 剑指offer面试题:替换空格

    https://blog.csdn.net/yanxiaolx/article/details/52235212 题目:请实现一个函数,把字符串中的每个空格替换成"%20".例如输 ...

  2. 剑指Offer - 面试题5. 替换空格(字符串)

    1. 题目 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例 1: 输入:s = "We are happy." 输出:"We%20 ...

  3. 剑指offer面试题05. 替换空格

    题目描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 思路 详见链接 在 Python 和 Java 等语言中,字符串都被设计成不可变的类型,即无法直接修改字符串 ...

  4. leetcode刷题之 剑指offe 面试题05. 替换空格 犯傻记录

    2020.3.6 刷到剑指offer第5题,题目描述如下: 题目本身没啥好说的,就是先统计空格的个数,然后把长度增加,用两个指针从后往前插. 采用m = s.count(' ',0,len(s)-1) ...

  5. 剑指offer习题详解——替换空格(全网最全详细解答,多种语言,多种解法)

    题目描述: 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例 1: 输入:s = "We are happy." 输出:"We%20 ...

  6. 【剑指Offer面试题】 九度OJ1510:替换空格

    c/c++ 中的字符串以"\0"作为结尾符.这样每一个字符串都有一个额外字符的开销. 以下代码将造成内存越界. char str[10]; strcpy(str, "01 ...

  7. 剑指offer——面试题4:替换空格

    #剑指offer--面试题4:替换空格 此题的关键思路在于字符串的从后向前复制!!! class Solution { public:void replaceSpace(char *str,int l ...

  8. 剑指offer——面试题49:把字符串转换成整数

    剑指offer--面试题49:把字符串转换成整数 Solution1: 代码写的啰嗦,但思路清晰..LeetCode上有相似的题目并考虑了溢出,可以参考LeetCode8答案 class Soluti ...

  9. 剑指offer 面试题三 找出数组中重复的数字

    1 import org.junit.Test; 2 3 import java.util.Arrays; 4 import java.util.HashSet; 5 6 public class D ...

  10. [剑指offer]面试题第[68-2]题[Leetcode][第236题][JAVA][二叉搜索树的最近公共祖先][递归]

    [问题描述][中等] 235/68-1 搜索二叉树 236/68-2 二叉树 [解答思路] 递归 时间复杂度:O(N) 空间复杂度:O(N) 情况 1. , 2. , 3. , 4. 的展开写法如下. ...

最新文章

  1. 计算机一级考模拟试题,计算机一级MSOffice考前模拟试题「附答案」
  2. 关于jQuery中的offset()和position()
  3. java mvc学习_史上最全的SpringMVC学习笔记
  4. 涉密机房建设方案如何规划?
  5. Every column needs a corresponding expression. No expression found for xxxx
  6. 【STM32】IIC的基本原理(实例:普通IO口模拟IIC时序读取24C02)(转载)
  7. JAVA入门级教学之(简单的程序测试)
  8. android studio 安装apk失败,AndroidStudio安装apk时失败时提示INSTALL_PARSE_FAILED_NO_CERTIFICATES...
  9. IBM启用水冷却技术为IDC服务器降温
  10. python log文件处理_Python 处理大Log文件
  11. DBV命令行工具检测坏块
  12. Sqlmap使用教程【个人笔记精华整理】
  13. openg显示Bmp图片
  14. 程序员转正述职报告_程序员个人述职报告范文4篇(整理版)
  15. 一篇文章看明白 Android 从点击应用图标到界面显示的过程
  16. 【MATLAB】MATLAB 仿真数字基带传输系统 — 双极性基带信号(余弦滚降成形脉冲)的眼图
  17. PHP合成推广微信推广海报 PHP合成图片 PHP在图片上添加文字 PHP制作图片
  18. 基于JavaWeb SSM bootStrap 校园二手市场管理系统的设计与实现
  19. UNCTF2022-公开赛|Crypto
  20. html2canvas.js下载地址

热门文章

  1. 你不知道的关于计算机大师 Dijkstra 的事情
  2. Nancy之结合tinyfox给我们的应用提供简单的数据服务
  3. ckeditor 4.2.1_演示 ckeditor 上传插入图片
  4. Windows To Go:Windows 8住进U盘里
  5. Apiggs —— 非侵入性的 RestDoc 文档生成工具
  6. c++之趣味new代码大家看
  7. Springsecurity之AccessDecisionManager
  8. HDU1862 EXCEL排序【排序】
  9. 理解原理的重要性 - 论PostgreSQL merge join 成本评估陷阱 含case
  10. 函数,匿名函数新认知(与预解释、作用域的关系)