Texto completo de un vistazo
En plataformas como Likou, los árboles binarios suelen estar predefinidos, pero en las entrevistas de Python, es posible que usted mismo deba crear los árboles binarios. Y después de crear una instancia de un árbol binario, la depuración posterior será más conveniente.
1. Definir los nodos del árbol
Los nodos del árbol binario deben definirse antes de construir:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
Tenga en cuenta que val, izquierda y derecha reciben valores predeterminados. En este momento, llamar a TreeNode () devuelve un nodo raíz con un valor de 0. Estos nodos aislados deben conectarse para formar un árbol binario.
2. Inicializar los nodos del árbol
Inicialice los valores de los nodos del árbol:
node1 = TreeNode(5)
node2 = TreeNode(3)
node3 = TreeNode(7)
node4 = TreeNode(1)
node5 = TreeNode(4)
node6 = TreeNode(6)
node7 = TreeNode(9)
Después de la inicialización, los valores de estos nodos ya no son el 0 predeterminado, pero siguen siendo nodos aislados, por lo que aún deben estar conectados.
3. Conecte los nodos del árbol
Conecte los nodos del árbol y defina la raíz del nodo raíz:
node1.left = node2
node1.right = node3
node2.left = node4
node2.right = node5
node3.left = node6
node3.right = node7
root = node1
En este punto, hemos completado la construcción de un árbol binario usando Python:
además, también podemos crear nodos hoja primero y luego crear un nodo padre que conecte los dos:
node6 = TreeNode(6)
node7 = TreeNode(9)
node3 = TreeNode(7, node6, node7)
4. Código completo
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
node4 = TreeNode(1)
node5 = TreeNode(4)
node6 = TreeNode(6)
node7 = TreeNode(9)
node2 = TreeNode(3, node4, node5)
node3 = TreeNode(7, node6, node7)
node1 = TreeNode(5, node2, node3)
root = node1