题目链接点这里
这里用到定义字符串类型为string q=string.Empty;还有就是将一个数强制类型转换成二进制的方法Convert.ToString(x,n).PadLeft(m,‘0’),x指的是需要转换的数字,n为二进制类型,方法为Convert.ToString(x,n)。另外用到的PadLeft是将转换的n进制数组用向左添加0的方法补充到长度为m,这样就可以通过此来将某一个数字转换成二进制长度为len的字符串。
public class Solution {
public IList<IList<int>> Subsets(int[] nums){
IList<IList<int>> code = new List<IList<int>>();
int len = nums.Length;
for (int i = 0; i < Math.Pow(2,len); i++){
List<int> list = new List<int>();
string temp = string.Empty;
temp = Convert.ToString(i, 2).PadLeft(len, '0');
for (int j = 0; j < len; j++){
if (temp[j] == '1'){
list.Add(nums[j]);
}
}
code.Add(list);
}
return code;
}
}