Given a binary tree, print nodes of extreme corners of each level but in alternate order.

Example:

For above tree, the output is

**1 2 7 8 31**

– print rightmost node of 1st level

– print leftmost node of 2nd level

– print rightmost node of 3rd level

– print leftmost node of 4th level

– print rightmost node of 5th level

**Input:**

The task is to complete the method which takes one argument, root of the Tree. The struct node has a data part which stores the data, pointer to left child and pointer to right child.

There are multiple test cases. For each test case, this method will be called individually.

**Output:**

The function should print extreme nodes in alternte manner.

**Constraints:**

1 <=T<= 30

1 <=Number of nodes<= 100

1 <=Data of a node<= 1000

**Example:
Input:**

2

2

1 2 R 1 3 L

7

20 8 L 20 22 R 8 4 L 8 12 R 12 10 L 12 14 R 22 25 R

**Output:**

1 3

20 8 25 10

There are two test casess. First case represents a tree with 3 nodes and 2 edges where root is 1, left child of 1 is 3 and right child of 1 is 2. Second test case represents a tree with 7 edges and 8 nodes.

**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.

Author: kartik

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

jhasaurabh312 | 138 |

Aaaaarohiiii | 136 |

Harsha_kunchala | 128 |

tushki | 124 |

RajaRajput | 117 |

ARUN_PUNDIR | 617 |

manishgupta8497 | 607 |

Abhimanyu_kumar | 559 |

KhyatiSoneji | 501 |

Aman___Jain | 496 |

blackshadows | 5335 |

Ibrahim Nash | 5223 |

akhayrutdinov | 5111 |

mb1973 | 4929 |

Quandray | 4567 |

Login to report an issue on this page.