题目信息
问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
思路
看见这个很明显就想到了递归,把这个想成一颗二叉树,中序遍历。可以保证先进入当前位为0的状态,并且其子状态
全部输出,再输出右树,右树恒比左树最后一个输出大1,归纳可证有效。
代码
import java.util.*;
public class Main{
public static void main(String args[]){
recursion(0,"");
}
public static void recursion(int pos,String str){
if(pos==5){
System.out.println(str);
return ;
}
recursion(pos+1,str+"0");
recursion(pos+1,str+"1");
}
}
学市场营销只有饿死
原创文章 12获赞 25访问量 378
关注
私信
展开阅读全文