java - Recursively print Binary subsets of an ArrayList -
so i've been wracking brain on while and, while code works, prints in absolute wrong order. sense i'm missing utilize pair of eyes.
void recursivebitpatterns(arraylist<string> subsets, int n) { if (n==1) { subsets.add("0"); subsets.add("1"); return; } recursivebitpatterns(subsets, n-1); int asize = subsets.size(); for(int i=0; i<asize; i++) { string nsub = subsets.get(i); subsets.set(i, nsub +"0"); subsets.add(nsub + "1"); } }
it seems setting sec element of arraylist 1 not overwriting in loop.
this prints:
000 100 010 110 001 101 011 111
any help appreciated
you code like.
void recursivebitpatterns(arraylist<string> subsets, int n) { if (n==1) { subsets.add("0"); subsets.add("1"); return; } recursivebitpatterns(subsets, n-1); int asize = subsets.size(); for(int i=0; i<asize; i++) { string nsub = subsets.get(i); subsets.set(i, "0" + nsub); subsets.add("1" + nsub); } }
this prints:
000 001 010 011 100 101 110 111
java recursion arraylist binary
No comments:
Post a Comment