Why i'm getting a run error in this code?

import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner scn=new Scanner(System.in);
String str=scn.next();
StringBuilder sb=new StringBuilder(str);
StringBuilder ans= replace(sb,0);
System.out.println(ans);

}
public static StringBuilder replace(StringBuilder sb,int vidx) {
	
	
	if (vidx==sb.length()-1) {
		return sb;
	}
	
	
	if (sb.charAt(vidx)== sb.charAt(vidx+1)) {
		sb.deleteCharAt(vidx);
	}
	replace(sb,vidx+1);
	
	return sb;
}

}

hey @harsh.hj
You are doing wrong
try for this input :
helllo
correct output : helo
correct code :

import java.util.*;

public class Main {
public static void main(String args[]) {
Scanner scn = new Scanner(System.in);
String str = scn.next();
StringBuilder sb = new StringBuilder(str);
StringBuilder ans = replace(sb, 0);
System.out.println(ans);
}

public static StringBuilder replace(StringBuilder sb, int vidx) {
	if (vidx == sb.length() - 1) {
		return sb;
	}
	if (sb.charAt(vidx) == sb.charAt(vidx + 1)) {
		sb.deleteCharAt(vidx);

replace(sb, vidx);

	}
	else

replace(sb, vidx + 1);
return sb;
}
}