用java递归写代码输出 子集树 111 110 101 011.....000
时间: 2023-12-06 21:44:31 浏览: 42
可以使用递归来生成子集树,具体代码如下:
```java
public class SubsetTree {
public static void main(String[] args) {
int[] nums = {1, 1, 1};
generateSubsetTree(nums, new int[nums.length], 0);
}
private static void generateSubsetTree(int[] nums, int[] subset, int index) {
if (index == nums.length) {
for (int i : subset) {
System.out.print(i);
}
System.out.println();
} else {
subset[index] = 1;
generateSubsetTree(nums, subset, index + 1);
subset[index] = 0;
generateSubsetTree(nums, subset, index + 1);
}
}
}
```
这里的 `nums` 数组表示原集合,`subset` 数组表示当前生成的子集,`index` 表示当前处理的元素下标。在递归过程中,先将当前元素选入子集,继续递归处理下一个元素;然后将当前元素不选入子集,继续递归处理下一个元素。当 `index` 等于 `nums.length` 时,表示已经处理完所有元素,输出当前子集即可。