Coursera UCSD 课程 Data Structure上,判断是否为二叉树,我的答案为什么错了

问题遇到的现象和发生背景

Coursera UCSD 课程 Data Structure上,判断一个给定树是否为二叉搜索树,我的代码编译能通过、大部分测试都没有问题,但是提交的时候报错:unknown signal 11,改写代码后(思路不变),编译即通过。

问题相关代码,请勿粘贴截图
#!/usr/bin/python3

import sys, threading

sys.setrecursionlimit(10**7) # max depth of recursion
threading.stack_size(2**25)  # new thread will get stack of such size


class Solution(object):
    def construct(self):
        self.n = int(sys.stdin.readline().strip())
        self.key = [0 for i in range(self.n)]
        self.left = [0 for i in range(self.n)]
        self.right = [0 for i in range(self.n)]
        self.in_order = []
        self.sign = True
        for i in range(self.n):
            [a, b, c] = map(int, sys.stdin.readline().split())
            self.key[i], self.left[i], self.right[i] = a, b, c

    def in_order_traversal(self, i):
        if i != -1:
            self.in_order_traversal(self.left[i])
            self.in_order.append(self.key[i])
            # if len(self.in_order) > 1 and self.in_order[-1] <= self.in_order[-2]:
            #     self.sign = False
            #     return
            self.in_order_traversal(self.right[i])

    def is_binary_search_tree(self, i):
        self.in_order_traversal(i)
        for a in range(len(self.in_order) - 1):
            prev = self.in_order[a]
            curr = self.in_order[a + 1]
            if curr <= prev:
                return False
        return True


def main():
    # nodes = int(sys.stdin.readline().strip())
    tree = Solution()
    tree.construct()
    if tree.n == 0:
        print("CORRECT")
        return
    # tree.in_order_traversal(0)
    # for i in range(nodes):
    #   tree.append(list(map(int, sys.stdin.readline().strip().split())))
    if tree.is_binary_search_tree(0):
        print("CORRECT")
    else:
        print("INCORRECT")


threading.Thread(target=main).start()

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果