gpt4 book ai didi

c++ - 解码字符数组

转载 作者:行者123 更新时间:2023-11-30 20:05:57 27 4
gpt4 key购买 nike

给定一个 URL 格式的字符数组,例如

   char *s="www.google.com\tsp finite.aspx"

解码时,空格应替换为 %20,因此字符串变为:

   char *s="www.google.com\tsp%20finite.aspx"

我们不允许使用新的字符数组,但允许使用一些字符变量来临时使用。也不应该使用任何容器。该数组包含足够的空间来包含解码后的数据,因此无需担心占用更多空间。

我遵循暴力机制,其中从找到空格的点到数组末尾的所有字符都将被交换。但这并不是解决问题最有效的方法。

任何人都可以告诉我哪种是减少数量的最佳方法(算法)。交换以获得解决方案。

最佳答案

我假设字符串已使用 malloc 分配

首先计算空格数和字符串长度

那么新长度=旧长度+空格数*2。使用realloc来扩展字符串。

从末尾向后工作并复制到新长度。当遇到%20中的空格复制时。

关于c++ - 解码字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28277155/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com