24. Right View of Binary Tree

The problem can be found at the following link: Question Link

My Approach

To get the right view of a binary tree, we perform a level order traversal (BFS) and keep track of the last node encountered at each level. The rightmost node at each level will be included in the result vector.

  • Perform a level order traversal (BFS) using a queue named q. Start by inserting the root node into the queue.

  • While the queue is not empty, repeat the following steps:

    • Iterate through all the nodes at the current level (the number of nodes currently in the queue, denoted by sz):

      • Dequeue the front node from the queue and assign it to the variable last.

      • If last has a left child, enqueue it into the queue.

      • If last has a right child, enqueue it into the queue.

  • Once all nodes at the current level have been traversed, record the value of last->data in the out vector.

Time and Auxiliary Space Complexity

  • Time Complexity: O(N), where N is the number of nodes in the binary tree.

  • Auxiliary Space Complexity: O(W), where W is the maximum width of the binary tree (number of nodes in the level with the most nodes).

Code (C++)

Contribution and Support

For discussions, questions, or doubts related to this solution, please visit our discussion section. We welcome your input and aim to foster a collaborative learning environment.

If you find this solution helpful, consider supporting us by giving a ⭐ star to the getlost01/gfg-potd repository.

Last updated

Was this helpful?