题目

URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)

示例1:

输入:"Mr John Smith ", 13

输出:"Mr%20John%20Smith"

示例2:

输入:" ", 5

输出:"%20%20%20%20%20"

提示:

字符串长度在[0, 500000]范围内。

思路:双指针

代码

class Solution {

public:

string replaceSpaces(string S, int length) {

if (S.empty()) return S;

int cnt = 0;

for (int i = 0; i < length; ++i) {

if (S[i] == ' ') ++cnt;

}

int newLen = length + cnt * 2, j = newLen - 1;

for (int i = length - 1; i >= 0 && i != j; --i) {

if (S[i] == ' ') {

S[j--] = '0';

S[j--] = '2';

S[j--] = '%';

} else {

S[j--] = S[i];

}

}

S[newLen] = '

程序员面试金典适合java么,【程序员面试金典】面试题 01.03. URL化(示例代码)相关推荐

  1. 程序员面试金典 - 面试题 01.03. URL化(字符串)

    1. 题目 URL化.编写一种方法,将字符串中的空格全部替换为%20.假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的"真实"长度.(注:用Java实现的话,请使用字符数 ...

  2. 01.03. URL化《程序员面试金典》记录

    文章目录 01.03. URL化 题解 补充 replace()方法 描述 语法 01.03. URL化 URL化.编写一种方法,将字符串中的空格全部替换为%20.假定该字符串尾部有足够的空间存放新增 ...

  3. 程序员面试金典适合java么,程序员面试金典(java版)

    一.字符串,数组 1.1 确定字符互异 分析:采用了最基本的方法,可以改进的思路. 代码如下: public class Different { public boolean checkDiffere ...

  4. 用uml设计java应用程序_用UML设计Java应用程序之需求分析

    本节向大家介绍一下如何用UML设计Java应用程序, 这里就以图书馆借阅和预定图书和杂志的应用程序为例向大家讲解,主要有需求分析和域分析等内容,相信本节的学习一定会让你对UML设计有新的理解. 用UM ...

  5. java的应用程序开发_开发一个Java应用程序(1)

    开发一个Java应用程序(1) App Engine上的Java Web应用程序通过Java Servlet标准接口与应用程序服务器交互.一个应用程序由一个或多个类组成,这些类都扩展自一个servle ...

  6. java程序打包为jar_将Java应用程序打包为一个(或胖)JAR

    java程序打包为jar 这篇文章将针对一个有趣但非常强大的概念:将您的应用程序打包为单个可运行的JAR文件,也称为一个或胖 JAR. 我们习惯了大型WAR归档文件,其中包含所有打包在某些常见文件夹结 ...

  7. java程序获取外部java程序的控件,将 Java 小程序迁移到 Microsoft J# 浏览器控件-JSP教程,Java技巧及代码...

    visual j# .net 小组 microsoft corporation 摘要:通过 microsoft j# 浏览器控件,开发人员可以将所编写的在 java 虚拟机上运行的 java 小程序迁 ...

  8. java socket 重连复用_Java Socket编程基础及深入讲解(示例代码)

    Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要讲解Socket的基础编程.Socket用在哪呢,主要用在进程间,网络间通信.本篇比较长,特别做了个目录: 一.Socket通信基 ...

  9. Java Web--HTML、CSS、JavaScript详细学习笔记(内含丰富示例代码)

    ** Java Web–HTML.CSS.JavaScript学习笔记 ** HTML(Hyper Text Markup Language超文本标记语言):控制的是页面的内容,是由标签组成的语言,能 ...

最新文章

  1. 不能使用 '';文件已在使用中。
  2. Shiro-授权(RBAC)
  3. mysql编译方式安装_mysql编译方式安装
  4. Memcahce(MC)系列(三)Memcached它PHP转让
  5. Linux c中一些常用函数总结(c语言中文网。。。)
  6. Linux用户和密码
  7. html 输入字数限制,说一说限制字数的输入框踩的坑
  8. 计蒜客 青出于蓝胜于蓝 dfs序+树状
  9. 使用公众号快速申请小程序的流程
  10. 【智能零售】解读双11后的新零售趋势
  11. 华擎主板bios设置图解_【华擎Z170评测】BIOS设置及超频方法简介_华擎 Z170 超频方程式_主板评测-中关村在线...
  12. 绑定异常 Invalid bound statement (not found): com.fwind.blog.dao.mapper.TagMapper
  13. PERCENT_RANK
  14. 小白渗透0-1:BlackMarket靶场渗透记录
  15. linux定向查日志_Linux之screen创建、切换、记录屏幕日志
  16. 关于舵机的漂移与不听指挥乱动的问题
  17. 黑白照片上色软件哪个好用?建议收藏这些软件
  18. FreeRadius数据表详解
  19. NetBeans IDE8.0.2下git使用
  20. Terraform云平台实例操作神器

热门文章

  1. 4.9 行列均不满秩方程
  2. 查看linux系统是32位还是64位
  3. 文档加载完后执行相关事件
  4. Nginx自动安装脚本
  5. 购物车的实现(cookie、session)
  6. POJ-1840 Eqs Hash表
  7. C++中如何去掉std::string对象的首尾空格
  8. 一步步教你前端vue项目开发中如何解决跨域问题
  9. CF724E Goods transportation
  10. 解决-bash: make: command not found安装提示错误