问题1:Python测试没问题,提交不通过
错误详情页:https://leetcode-cn.com/submissions/detail/238734431/
解决:
leetcode测试和提交环境不同,测试环境是每次都会给你开个新的执行环境,提交环境则比较混乱,不会重新初始化一个执行环境给你:
报错的代码:
class CQueue:
self.temp_stack = []
self.queue = []
def __init__(self):
pass
def appendTail(self, value: int) -> None:
self.temp_stack.append(value)
return None
def deleteHead(self) -> int:
if(len(self.temp_stack) == 0 and len(self.queue) == 0):
return -1
if(len(self.queue) > 0):
return self.queue.pop()
length = len(self.temp_stack)
for i in range(0, length):
self.queue.append(self.temp_stack.pop())
return self.queue.pop()
执行后结果不对,一直报错,输出结果也很奇怪,会输出许多压根没有的数据,代码拿到本地运行后,也没问题,leetcode测试,也没问题。
最终解决:把初始化代码放到init中去
即,
class CQueue:
def __init__(self):
self.temp_stack = []
self.queue = []
def appendTail(self, value: int) -> None:
self.temp_stack.append(value)
return None
def deleteHead(self) -> int:
if(len(self.temp_stack) == 0 and len(self.queue) == 0):
return -1
if(len(self.queue) > 0):
return self.queue.pop()
length = len(self.temp_stack)
for i in range(0, length):
self.queue.append(self.temp_stack.pop())
return self.queue.pop()
问题收集是个持续的过程,大家遇到什么问题可以在评论中留言解决,丰富问题库