Bloomberg LP Interview Question
Python DevelopersCountry: United States
struct Node {
Node(int x): data(x), left(NULL), right(NULL) {}
int data;
Node *left;
Node *right;
};
void LevelOrder(Node *root) {
if (root == NULL) return;
queue<Node*> q;
q.push(root);
q.push(NULL);
Node *curr;
while(q.size() > 1) {
curr = q.front();
q.pop();
if (curr == NULL) {
// New level
q.push(NULL);
cout << endl;
} else {
if(curr->left) q.push(curr->left);
if(curr->right) q.push(curr->right);
cout << curr->data << " ";
}
}
}
Output:
1
2 3
4 5 6 7
Straightforward level order traversal using a queue. Solution in Python below.
Output:
- prudent_programmer June 17, 2019