📅  最后修改于: 2023-12-03 14:58:21.991000             🧑  作者: Mango
这个问题是GATE计算机科学2021的设置2中的第19个问题。它要求我们设计一个算法,从一个字符串中删除给定的字符。
给定一个字符串S和一个字符c,设计一个算法,从字符串S中删除所有c字符,并返回新的字符串。
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是字符串的长度。因为我们需要遍历整个字符串,并在每个字符上执行恒定的操作。
这个问题是一个基础的字符串操作,需要注意的就是要注意遍历字符串并生成新字符串。