Tree: Level Order Traversal

  • + 3 comments

    C solution:

    void LevelOrder(node * root)
    {
        node * nodeList[10000];
        int n = 1;
        int i = 0;
    
        nodeList[0] = root;
    
        while (i < n) {
            node *thisNode = nodeList[i];
            if (thisNode->left) {
                nodeList[n++] = thisNode->left;
            }    
            if (thisNode->right) {
                nodeList[n++] = thisNode->right;
            }  
            i++;
        }
    
        for (int i = 0; i < n; i++) {
            node *thisNode = nodeList[i];
            printf("%d ", thisNode->data);
        }
    }