Given below is a binary tree. The task is to print the top view of binary tree. Top view of a binary tree is the set of nodes visible when the tree is viewed from the top. For the given below tree
/ \ / \
4 5 6 7
Top view will be: 4 2 1 3 7
Note: Print from leftmost node to rightmost node.
Input: 1 / \ 2 3 Output: 2 1 3
Input: 10 / \ 20 30 / \ / \ 40 60 90 100 Output: 40 20 10 30 100
Since this is a function problem. You don't have to take input. Just complete the function printTopView() that takes root node as parameter and prints the top view. The newline is automatically appended by the driver code.
Expected Time Complexity: O(N)
Expected Auxiliary Space: O(N).
1 <= N <= 105
1 <= Node Data <= 105
Note:The Input/Ouput format and Example given are used for system's internal purpose, and should be used by a user for Expected Output only. As it is a function problem, hence a user should not read any input from stdin/console. The task is to complete the function specified, and not to write the full code.
We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?Yes