import java.util.ArrayList;
import java.util.List;
/**
* @Author JH
* @CreateDate 18-6-7
* @Description 二进制反射格雷码 幂集
*/
public class BRGC {
private ListString l1;
public ListString BRGC(int n){
if (n==1){
l1=new ArrayListString();
l1.add("0");
l1.add("1");
return l1;
}
else{
l1=new ArrayListString(BRGC(n-1));
int len=l1.size();
for (int i=0;ilen;i++){
String s=l1.get(i);
String s1="0"+s;
l1.remove(i);
l1.add(i,s1);
String s2="1"+s;
l1.add(s2);
}
return l1;
}
}
public static void main(String[] args) {
BRGC brgc=new BRGC();
System.out.println(brgc.BRGC(5));
}
}