Day18: (Binary Tree)

Level order Traversal Solved on: Aug 1st 2020

int height (Node *node) {
    int lh, rh;
    if (node==NULL) {
        return 0;
    }
    
    lh=height(node->left);
    rh= height(node->right);
    
    if (lh>rh){
        return lh+1;
    } else {
        return rh+1;
    }
}

  
/* Print nodes at a given level */
void printGivenLevel(Node* root, int level, vector<int> &v) {  
    if (root == NULL)  
        return;  
    if (level == 1)  
        v.push_back(root->data);
    else if (level > 1)  
    {  
        printGivenLevel(root->left, level-1, v);  
        printGivenLevel(root->right, level-1, v);  
    }  
}  

vector<int> levelOrder(Node* node) {
    vector<int> v;
    if (node == NULL) {
        return v;
    }
    
    int h=height(node);
    int i;
    for (i=0;i<=h;i++) {
        printGivenLevel(node, i, v);
    }
    return v;
}

Height of a Binary Tree Solved on: Aug 1st 2020

Diameter of Binary Tree Solved on: Aug 1st 2020

Check if Binary tree is height balanced or not Solved on: Aug 2nd 2020

Lowest Common Ancestor of a Binary Tree Solved on: Aug 2nd 2020

Check if two trees are identical or not Solved on: Aug 2nd 2020

Last updated

Was this helpful?