> For the complete documentation index, see [llms.txt](https://timmybeeflin.gitbook.io/cracking-leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://timmybeeflin.gitbook.io/cracking-leetcode/bit/bit-mask/137.-single-number-ii.md).

# 137. Single Number II

T: O(n)

S: O(1)

````java
```java
class Solution {
    public int singleNumber(int[] nums) {
        int[] bits = new int[32];
        for (int x : nums) {
            for (int i = 0; i < 32;i++) {
                bits[i] += (x >> i)&1; // convert to binary
            }
        }
        int result = 0;
        for (int i = 0; i < 32;i++) {
            result += (bits[i]%3)<<i; // convert back to decimal 
        }
        return result;
    }
}
```
````
