📜  门| GATE CS 2021 |设置 2 |问题 19(1)

📅  最后修改于: 2023-12-03 14:58:21.991000             🧑  作者: Mango

门 | GATE CS 2021 |设置 2 |问题 19

这个问题是GATE计算机科学2021的设置2中的第19个问题。它要求我们设计一个算法,从一个字符串中删除给定的字符。

题目描述

给定一个字符串S和一个字符c,设计一个算法,从字符串S中删除所有c字符,并返回新的字符串。

输入格式
  • 字符串S
  • 字符c
输出格式
  • 删除所有c字符后的S字符串
示例
输入
S = "abcdeefg"
c = "e"
输出
S = "abcdfg"
思路

这个问题可以通过遍历字符串S,并将不等于字符c的字符添加到新的字符串中来实现。在遍历字符串时,如果字符不等于c,则将其添加到新字符串中。

代码实现
def remove_char(S, c):
    new_string = ""
    for i in range(len(S)):
        if S[i] != c:
            new_string += S[i]
    return new_string
复杂度分析

这个算法的时间复杂度是O(n),其中n是字符串的长度。因为我们需要遍历整个字符串,并在每个字符上执行恒定的操作。

总结

这个问题是一个基础的字符串操作,需要注意的就是要注意遍历字符串并生成新字符串。