统计反转字符串同索引相同字符数:代码未全过测试,求排查边界情况
排查遗漏的边界情况
- 超大长度字符串:原代码里
dataStream[::-1]会生成一个和原字符串等长的副本,当字符串长度极大(比如百万级字符)时,会占用双倍内存,可能引发内存溢出或超时,导致测试用例不通过。优化方式是直接通过索引对比,避免创建反转副本:
def count(dataStream): c = 0 n = len(dataStream) for i in range(n): if dataStream[i] == dataStream[n - 1 - i]: c += 1 return c
- 非法输入(如
None):如果测试用例包含非字符串类型的输入(比如None),原代码会抛出AttributeError(因为None不支持切片操作),需要添加参数校验:
def count(dataStream): if not isinstance(dataStream, str): return 0 c = 0 n = len(dataStream) for i in range(n): if dataStream[i] == dataStream[n - 1 - i]: c += 1 return c
内容的提问来源于stack exchange,提问作者Happy Prajapat
相关产品推荐
相关产品推荐

