向字符串添加空格

简介: 首先我们可以算出s数组的大小-len,也可以直接得到spaces的大小-即要添加的空格数,那么我们要创建的数组大小是len+spacesSize吗? 不是,应该是len+spacesSize+1,这里的加一是存放一个'\n'这里呢 我们可以写一个for i循环,用来把s中的元素放到arr里面,然后在外面定义一个falg用来充当arr的下标,存进一个元素falg++,再定义一个j=0,当i == space[j]就存放空格,每存放一个空格++.

向字符串添加空格

94cb6325c893c5af651359644191466f_e6550e14f6774edb84f9166670ee219d.png

思路:

我们先malloc一个数组-arr存放s的元素和空格,这个数组应该多大呢?

首先我们可以算出s数组的大小-len,也可以直接得到spaces的大小-即要添加的空格数,那么我们要创建的数组大小是len+spacesSize吗? 不是,应该是len+spacesSize+1,这里的加一是存放一个'\n'

这里呢 我们可以写一个for i循环,用来把s中的元素放到arr里面,然后在外面定义一个falg用来充当arr的下标,存进一个元素falg++,再定义一个j=0,当i == space[j]就存放空格,每存放一个空格++.

代码(力扣中用C语言写的):

char * addSpaces(char * s, int* spaces, int spacesSize){
    int i = 0;
    int j = 0;
    int falg = 0;
    int len = strlen(s);
    char* arr = (char*)malloc((sizeof(char)) *(len + spacesSize + 1));
    for(i = 0; i < len; i++)
    {
        if(j < spacesSize && i == spaces[j])
        {
            j++;
            arr[falg++] = ' ';
        }
        arr[falg++] = s[i];
    }
    arr[falg] = '\0';
    return arr;
}


目录
相关文章
|
自然语言处理 安全 网络协议
HTTPS的加密机制和加密流程?
HTTPS的加密机制和加密流程?
208 0
|
8月前
|
XML 机器学习/深度学习 人工智能
CLaMP 3:音乐搜索AI革命!多模态AI能听懂乐谱/MIDI/音频,用27国语言搜索全球音乐
CLaMP 3是由清华大学团队开发的多模态、多语言音乐信息检索框架,支持27种语言,能够进行跨模态音乐检索、零样本分类和音乐推荐等任务。
340 1
CLaMP 3:音乐搜索AI革命!多模态AI能听懂乐谱/MIDI/音频,用27国语言搜索全球音乐
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
LLMs 入门实战系列大全:LLMs应用、领域大模型介绍、大模型常见面经汇总
LLMs 入门实战系列大全:LLMs应用、领域大模型介绍、大模型常见面经汇总
LLMs 入门实战系列大全:LLMs应用、领域大模型介绍、大模型常见面经汇总
|
12月前
|
Rust 监控 编译器
解密 Python 如何调用 Rust 编译生成的动态链接库(一)
解密 Python 如何调用 Rust 编译生成的动态链接库(一)
264 2
|
Java Spring
Spring Boot与Zookeeper的集成应用
Spring Boot与Zookeeper的集成应用
|
机器学习/深度学习 人工智能 自然语言处理
大语言模型定义、概念介绍
大语言模型定义、概念介绍
|
存储 算法 区块链
区块链通过其独特的技术特性
**区块链技术以去中心化确保信息传递无需中心平台,降低篡改风险。公开透明的交易记录通过哈希链接保持完整,智能合约自动执行预设规则,共识机制保证公平,而加密算法则保护数据安全与隐私,整体提升社区交流的透明度、准确性和信任度。**
|
存储 JSON 算法
JWT身份认证(附带源码讲解)
JWT身份认证(附带源码讲解)
188 1
VS2019显示器颜色调整成护眼模式的颜色
工具 -> 选项 -> 环境 -> 字体和颜色,显示项为“纯文本”,设置项背景色:色调=85,饱和度=123,亮度=205,或者 rgb为199,238,206
|
C语言
C语言:获得月份天数(多组输入)-1
描述 KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。 输入描述: 多组输入,一行有两个整数,分别表示年份和月份,用空格分隔。 输出描述:
398 0