删除指定字符串的算法题,面试时候没做出来
很多年没来这里了。
今天上午参加了字节跳动视频面试,面试官让现场做一道算法题,有点紧张做错了。我把题目发出来,有需要的朋友看看。
题目:删除字符串 描述:给定一个字符串,不考虑大小写,将该字符串中连续的某个子串'XXX'删除,返回结果中不包含'XXX'. 例子: 输入字符串:aaaabbbbb XXX子串:ab 输出结果:b
结束面试后,花了几分钟时间做了一下(用python语言实现)。
1 def removeString(in_str, remove_str='ab'): 2 ret_list=[] 3 str_len=len(remove_str) 4 need_skip_index=-1 5 for i, value in enumerate(in_str): 6 if i < need_skip_index: 7 continue 8 elif in_str[i: i+str_len] == remove_str: 9 need_skip_index=i+str_len 10 continue 11 else: 12 ret_list.append(value) 13 if ''.join(ret_list[-str_len:]) == remove_str: 14 ret_list = ret_list[:len(ret_list)-str_len] 15 return ''.join(ret_list) 16 17 ret=removeString('aababc') 18 print(ret)