解题思想:
1.首先获取数字串的每一位的数字,并用数组储存,以便于排序时的取操作。
2.从左到右依次选择数组中的数字进行组合,为了保证每一位取值不同,首先将数组进行排序,并使用一个布尔标记数组来标记每一位是否已经取过值(第一次取值标记为true,若已经取过则标记为false),每次取值时进行判断:当前数字是否与前一个数字相同(若相同且前一个数字被标记为true,则当前数字标记为false,并跳过当前数字;若不同则取当前数字,并标记为true)
3.组合完成后,通过位运算判断是否为2的幂,若是则记录,并返回true,否则继续排序。