跟踪链接列表中需要删除的内容

时间:2014-06-11 19:51:03

标签: python linked-list stack

我使用while循环遍历链接的节点列表,每个节点都有一个堆栈值。如果堆栈的顶部值对于一行中的3个节点是相同的,则需要移除顶部值,并且需要对点进行评分。我将如何跟踪哪些堆栈需要删除其最高值?到目前为止我所拥有的(将得分,但我不知道如何跟踪需要删除的节点)此外,我根本不允许使用任何类型的python列表。如果我不清楚,如果连续3个,他们将被删除并且得分,类似于宝石迷阵。每个节点都有一个堆栈作为其值。

        cur_node = self._front
        previous = cur_node.get_value().peek() 
        cur_node = cur_node.next
        in_a_row = False
        points_gained = 0
        count = 0 

        while cur_node:
            current = cur_node.get_value().peek()
            if current == previous:
                count = count + 1
            else:
                if in_a_row:
                    points_gained = points_gained + (count ** 2)
                    in_a_row = False
                count = 1

            if count >= 3:
                in_a_row = True

0 个答案:

没有答案