IndexError:python中堆栈的列表索引超出范围peek操作 类堆栈(): 定义初始化(自): self.s=[] def推送(自,x): self.s.append(x) def pop(自我): 如果self.s=[]: 返回-1 其他: 返回self.s.pop() def peek(自): 返回self.s[-1] 定义为空: 返回透镜(s) def大小(自身): 返回len(self.s) def printNGE(arr): v=[] n=长度(arr) s=堆栈() 对于范围(n)中的i: 如果s.size()==0: v、 附加(-1) elif s.size()>0和s.peek()>arr[i]: v、 附加(s.peek()) elif s.size()>0和s.peek()0和s.peek()

IndexError:python中堆栈的列表索引超出范围peek操作 类堆栈(): 定义初始化(自): self.s=[] def推送(自,x): self.s.append(x) def pop(自我): 如果self.s=[]: 返回-1 其他: 返回self.s.pop() def peek(自): 返回self.s[-1] 定义为空: 返回透镜(s) def大小(自身): 返回len(self.s) def printNGE(arr): v=[] n=长度(arr) s=堆栈() 对于范围(n)中的i: 如果s.size()==0: v、 附加(-1) elif s.size()>0和s.peek()>arr[i]: v、 附加(s.peek()) elif s.size()>0和s.peek()0和s.peek(),python,list,class,stack,Python,List,Class,Stack,您只是有一个小错误,缺少括号: File "c:\Users\Amit\Desktop\greatrightstak.py", line 42, in <module> x=printNGE(arr) File "c:\Users\Amit\Desktop\greatrightstak.py", line 35, in printNGE v.append(s.peek()) File "c:\Users\Amit\

您只是有一个小错误,缺少括号:

File "c:\Users\Amit\Desktop\greatrightstak.py", line 42, in <module>
    x=printNGE(arr)
 File "c:\Users\Amit\Desktop\greatrightstak.py", line 35, in printNGE
    v.append(s.peek())
 File "c:\Users\Amit\Desktop\greatrightstak.py", line 13, in peek
    return self.s[-1]
IndexError: list index out of range
if s.size==0:
应该是

if s.size==0:
if s.size()==0: