HERE is the c++ implementation for right view of binary tree without using queue. When I try to convert it to Java, it is not working. Here is my Java code:
(I think most likely it is because I have not understood the algorithm properly and handling of maxLevel pointers/reference)
public static void rightView(TreeNode tNode){
int maxLevel = 0;
rViewUtil(tNode, 1,maxLevel);
}
public static void rViewUtil(TreeNode tNode, int level, int maxLevel){
if(tNode==null)
return;
if(maxLevel < level){
System.out.print(tNode.value + " ");
maxLevel = level;
}
rViewUtil(tNode.right, level+1, maxLevel);
rViewUtil(tNode.left, level+1, maxLevel);
}