Para demostrar la seguridad offer_ árbol binario _ orden de impresión en zigzag árbol binario

orden de impresión Binary Tree zig-zag

Título Descripción
favor de implementar una función de acuerdo con la impresión de un árbol binario en zigzag, es decir, la primera fila de izquierda a derecha de la impresión, el orden de impresión de la segunda capa es de derecha a izquierda, la tercera fila de izquierda a derecha de la impresión, otra la línea y así sucesivamente.

respuestas

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    def Print(self, pRoot):
        # write code here
        resultarray = []
        if not pRoot:
            return resultarray
        currnodes = [pRoot]
        flag = True
        while currnodes:
            currvalues = []
            nextnodes = []
            for node in currnodes:
                currvalues.append(node.val)
                if node.left:
                    nextnodes.append(node.left)
                if node.right:
                    nextnodes.append(node.right)
            currnodes = nextnodes
            resultarray.append(currvalues) if flag else resultarray.append(currvalues[::-1])
            flag = not flag
        return resultarray 
Publicado 31 artículos originales · ganado elogios 0 · Vistas 713

Supongo que te gusta

Origin blog.csdn.net/freedomUSTB/article/details/105180342
Recomendado
Clasificación