二叉树C#中的级别顺序插入

问题描述

假设我们有一个数组 [20,8,22,5,3,4,25,null,10,14,null] 并且我们想从中构造一个二叉树使用 Level Order ,我们如何在 c# 中做到这一点,因为它不允许 null int。

enter image description here

解决方法

一个简单的伪代码:

function create_node(index,arr)
    node n = node()
    if 2*index + 1 < arr.size and arr[2*index + 1] != null
        n.left = create_node(2*index + 1,arr)
    if 2*index + 2 < arr.size and arr[2*index + 1] != null
        n.right = create_node(2*index + 2,arr)

正如你所说,存在null的问题。您可以简单地使用一些超出您预期范围的值 - 可能是 -1。