> For the complete documentation index, see [llms.txt](https://nataliekung.gitbook.io/ladder_code/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nataliekung.gitbook.io/ladder_code/high-frequency/single-numberii.md).

# Single NumberII

题目：

Given 3\*n + 1 numbers, every numbers occurs triple times except one, find it.

分析：

3个数抵消，不进位加法，变成三进制，每位单独加起来，得到的数就是结果

A\[j] >> i & 1; 用来把一个整数拆成Bit位

解法：

```
public int singleNumberII(int[] A) {
        // write your code here
        int[] bit = new int[32];
        int ret = 0;
        for(int i = 0; i < 32; i++){
            for(int j = 0; j < A.length; j++){
               bit[i] +=  A[j] >> i & 1; //用来把一个整数拆成Bit位
               bit[i] %= 3;//三进制
            }
            ret |= bit[i] << i;
        }
        return ret;
    }
```
