首页 > 其他分享 >剑指Offer——05.替换空格(c语言)

剑指Offer——05.替换空格(c语言)

时间:2023-04-22 14:13:10浏览次数:39  
标签:Offer -- 05 ret 空格 int

title: 剑指Offer 05.替换空格(c语言)

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例1:

输入:s = "We are happy."
输出:"We%20are%20happy."

限制:
$$
0 \leqslant s的长度 \leqslant 10000
$$
代码如下:

char* replaceSpace(char* s){
    if(NULL == s){
        return NULL;
    }
    int len = strlen(s);

    int cnt_blank = 0;
    for(int i=0; i<len; ++i)
    {
        if(' ' == s[i]){
            ++cnt_blank;
        }
    }
    
    int new_len = len+2*cnt_blank+1;
    char *ret = (char*)malloc(new_len*sizeof(char));
    for(int j=len-1, k=new_len-2; j>=0&&k>=0; --j,--k)
    {
        if(' ' == s[j]){
            ret[k--] = '0';
            ret[k--] = '2';
            ret[k] = '%';
        } else{
            ret[k] = s[j];
        }
    }
    ret[new_len-1] = '\0';
    return ret;
}

执行结果:

通过

显示详情

执行用时:0 ms, 在所有 C 提交中击败了100.00%的用户

内存消耗:5.3 MB, 在所有 C 提交中击败了97.30%的用户

标签:Offer,--,05,ret,空格,int
From: https://www.cnblogs.com/blue-Suri/p/17342965.html

相关文章

  • 剑指Offer——53-II. 0~n-1中缺失的数字(c语言)
    title:剑指Offer53-II.0~n-1中缺失的数字(c语言)一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例1:输入:[0,1,3]输出:2示例2:输入:[0,1,2,3,4,5,6,7,9]输......
  • 剑指Offer——10-II.青蛙跳台阶问题(c语言)
    title:剑指Offer10-II.青蛙跳台阶问题(c语言)一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法。答案需要取模1e9+7(1000000007),如计算初始结果为:1000000008,请返回1。示例1:输入:n=2输出:2示例2:输入:n=7输出:21示例3:输入:n......
  • 剑指Offer——24.反转链表(c语言)
    title:剑指Offer24.反转链表(c语言)定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL限制:$$0\leqslant节点个数\leqslant5000$$代码如下:/***Definitionforsingly-linkedlist.......
  • PyTorch项目实战05——Tensor的广播机制
    1广播机制介绍矩阵运算,往往只能在两个矩阵维度相同或者相匹配时才能运算。比如加减法需要两个矩阵的维度相同,乘法需要前一个矩阵的列数与后一个矩阵的行数相等。当参与运算的两个维度不同也不匹配的矩阵进行运算时,该机制会对数组进行扩展,使数组的shape属性值一样,这样,就可以进行矢......
  • 05-目录-计算机基础(组成原理、微机原理、汇编、操作系统、网络)
    :链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接:链接12:链接13:链接14:链接15:链接16:链接17:链接18:链接19:链接20:链接:链接:链接:链接:链接:......
  • 1053 等重路径
    给定一个非空的树,树根为 R。树中每个节点 Ti 的权重为 Wi。从 R 到 L 的路径权重定义为从根节点 R 到任何叶节点 L 的路径中包含的所有节点的权重之和。现在给定一个加权树以及一个给定权重数字,请你找出树中所有的权重等于该数字的路径(必须从根节点到叶节点)。例如......
  • Counting Rectangles UVA - 10574
    给出n个点。问选出4个点作为定点,能够组成多少个平行与坐标轴的矩形。 点按照x排序 n^2挑选出垂直x轴的线段,按照y1排序  #include<iostream>#include<cstring>#include<algorithm>#include<vector>usingnamespacestd;constintN=1e5;structT{ intx......
  • 05 基础的数据操作
    05基础的数据操作在创建了数据库和数据库表之后,我们就可以在表中进行数据操作了。基础操作分为添加删除修改查询以上4种操作又简称为CURD(Create,Update,Retrieve,Delete)一.添加数据插入数据的类型:添加一行中所有列对应的数据,不写列名添加一行中某些列对应的......
  • nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned in
    在封装非MFC环境的静态库时调用了依赖MFC环境的静态库时编译测试程序报错如下:nafxcw.lib(afxmem.obj):errorLNK2005:"void*__cdecloperatornew(unsignedint)"(??2@YAPAXI@Z)已经在LIBCMT.lib(new.obj)中定义nafxcw.lib(afxmem.obj):errorLNK2005:"void*__cde......
  • 005 PPT 防止字体丢失
    方法一:字体矢量化即,使用形状通过布尔运算,将文字转为形状的操作方式操作步骤:插入形状==》选择文本+按住Ctrl+选择形状==》合并形状==》剪除(实现将文字转为形状)方法二:字体转图片选择文本==》剪切==》复制为图片方法三:嵌入字体即通过设置实现字体的嵌入,但不是所有字......