Reverse alternate levels of a perfect binary tree

Reverse alternate levels of a perfect binary tree

Given a Perfect Binary Tree, reverse the alternate level nodes of the binary tree.

Solution:

  • First traverse tree in InOrder and extract all elements of odd level from tree to list
  • Reverse the elements of list
  • Traverse again tree and replace elements of tree with list element.

Latest Source Code:
Github: ReverseAtAlternateLevelOfPerfectBinaryTree.java


Output:

       1               
      / \       
     /   \      
    /     \     
   /       \    
   2       3       
  / \     / \   
 /   \   /   \  
 4   5   6   7   
/ \ / \ / \ / \ 
8 9 10 11 12 13 14 15 
                                
After reverse : 
       1               
      / \       
     /   \      
    /     \     
   /       \    
   3       2       
  / \     / \   
 /   \   /   \  
 4   5   6   7   
/ \ / \ / \ / \ 
15 14 13 12 11 10 9 8 
Author: Hrishikesh Mishra