25. Level order traversal in spiral form
My Approach
Time and Auxiliary Space Complexity
Code (C++)
vector<int> findSpiral(Node *root)
{
vector<int> out;
queue<Node*> q;
q.push(root);
int turn = 1;
while(!q.empty()){
int sz = q.size();
int len = out.size();
while(sz--){
Node* front = q.front();
out.push_back(front->data);
q.pop();
if(front->left)
q.push(front->left);
if(front->right)
q.push(front->right);
}
if(turn)
reverse(out.begin()+len, out.end());
turn = (turn + 1)%2;
}
return out;
}Contribution and Support
Last updated