前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LintCode-212. 空格替换

LintCode-212. 空格替换

作者头像
悠扬前奏
发布2019-05-29 20:42:13
5660
发布2019-05-29 20:42:13
举报

题目

描述

设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。

你的程序还需要返回被替换后的字符串的长度。

样例 1:

代码语言:javascript
复制
输入:string[] = "Mr John Smith" and length = 13
输出:string[] = "Mr%20John%20Smith" and return 17
解释:
对于字符串 "Mr John Smith",长度为 13。替换空格之后,参数中的字符串需要变为 "Mr%20John%20Smith",并且把新长度 17 作为结果返回。

样例 2:

代码语言:javascript
复制
输入:string[] = "LintCode and Jiuzhang" and length = 21
输出:string[] = "LintCode%20and%20Jiuzhang" and return 25
解释:
对于字符串 "LintCode and Jiuzhang",长度为 21。替换空格之后,参数中的字符串需要变为 "LintCode%20and%20Jiuzhang",并且把新长度 25 作为结果返回。

解答

思路

先扩容数组,然后从后往前填充。

代码

代码语言:javascript
复制
public class Solution {
    /*
     * @param string: An array of Char
     * @param length: The true length of the string
     * @return: The true length of new string
     */
    public int replaceBlank(char[] string, int length) {
        // write your code here
        // string = String.join("%20", String.valueOf(string).split("\\s")).toCharArray();  
        int index = 0, i, newLength = length;
        for (i = 0; i < length; i++) {
            if (string[i] == 32) {
                index++;
                newLength += 2;
            }
        }
        for (i = length - 1; i >= 0; i--) {
            if (string[i] != 32) {
                string[i + index * 2] = string[i];
            } else {
                string[i] = '%';
                string[i + 1] = '2';
                string[i + 2] = '0';
                i += 3;
                index--;
            }
        }
        return newLength;
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.02.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
    • 描述
      • 样例 1:
        • 样例 2:
        • 解答
          • 思路
            • 代码
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档