my code not passing only 1 test case can you check which test case is it.
public void levelOrderZZ()
{
print(root);
}
public void print(Node root)
{
int h=height(root);
int i;
for(i=1; i<=h+1; i++)
{
p(root,i,0);
}
}
public void p(Node root,int i,int count)
{
if(root==null)
{
return;
}
if(i==1)
{
System.out.print(root.data+" ");
}
if(i>1)
{
count++;
if(count%2==0&&count>1)
{
i=i+1;
}
if(i%2==0)
{
if(count%2==0&&count>1)
{
i=i-1;
}
p(root.right,i-1,count);
p(root.left,i-1,count);
}
if(i%2!=0)
{
if(count%2==0&&count>1)
{
i=i-1;
}
p(root.left,i-1,count);
p(root.right,i-1,count);
}
}
}
int height(Node root)
{
if(root==null)
{
return -1;
}
int m=height(root.left)+1;
int n=height(root.right)+1;
int k=Math.max(m,n);
return k;
}