Tree Right View - test case failes first

import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
String[] a = s.split(" ");
BinaryTree t = new BinaryTree(a);

}

}
class BinaryTree{
private class Node{
String data;
Node left;
Node right;
}

private  Node root;
private int max = 0;
public BinaryTree(String[] arr){
    Scanner scan = new Scanner(System.in);
    this.root = construct(arr,0,arr.length-1);
//	max_level max = new max_level();
	rightView(this.root,1,0);
}

public Node construct(String[] arr,int i, int max){
	if(i>max){
		return null;
	}
	if(arr[i].equals("-1")){
		return null;
	}
	Node node = new Node();
	node.data = arr[i];
	node.left = construct(arr,2*i+1,max);
	node.right = construct(arr,2*i+2,max);
	return node;
}

public void rightView(Node node, int level,int maxl ){
if(node == null){
return;
}
if(this.max<level){
System.out.print(node.data+ " ");
this.max = level;
maxl = this.max;
}
rightView(node.right,level+1,maxl);
rightView(node.left,level+1,maxl);
}
}