Java || 1ms(97.25% faster)
Explanation\n1) Store the count of digits of given n in an array.\n2) Store the count of digits of every power of 2 from 1 to 30.\n3) If the count of digits in 
**Explanation**\n1) Store the count of digits of given n in an array.\n2) Store the count of digits of every power of 2 from 1 to 30.\n3) If the count of digits in any of the power of 2 matches with the count of digits of given n, then return true. \n4) If a match is not found after all iterations, that means the given number cannot be arranged in the form of a power of 2. Hence, return false.\n```\nclass Solution \n{\n    public boolean reorderedPowerOf2(int n) \n    {\n        int[] cnt = new int[10];\n        int num = n;\n        while(num != 0)\n        {\n            cnt[num % 10]++;\n            num /= 10;\n        }\n        \n        int two = 1;\n        int pow = 1;\n        while(pow <= 30)\n        {\n            int cur[] = new int[10];\n            num = two;\n            while(num != 0)\n            {\n                cur[num % 10]++;\n                num /= 10;\n            }\n            \n            boolean powOfTwo = true;\n            for(int i=0; i<10; i++)\n            {\n                if(cnt[i] != cur[i])\n                {\n                    powOfTwo = false;\n                    break;\n                }\n            }\n            if(powOfTwo)\n                return true;\n            two *= 2;\n            pow++;\n        }\n        return false;\n    }   \n}\n```
[]