生成0和1的所有可能字符串(给定长度)

时间:2014-08-20 08:27:09

标签: java string

我需要java中的一个函数,它给出一个(int length)作为输入,并用' 0'打印所有可能的字符串。和' 1'字母。 这不是排列,因为0 s和1 s的数量在每个可能的字符串中是不同的 示例:length = 3

  • 111
  • 110
  • 100
  • 000
  • 001
  • 011
  • 010
  • 101

1 个答案:

答案 0 :(得分:3)

您可以尝试使用2^NN可以作为长度)。然后将0-2^N转换为二进制并使用适当的二进制格式。你可以拥有你想要的东西。

第一步 - 获取2^N

double twosPow = Math.pow(2, occurrence);

现在从0迭代到twosPow。并将数字转换为二进制

第二步 - 如何将int转换为二进制?

Integer.toBinaryString(k); // 0<=k<  twosPow

第三步格式二进制

String.format("%" + length + "s",binary).replace(" ", "0")