# 137. 只出现一次的数字 II

[https://leetcode-cn.com/problems/single-number-ii/submissions/](https://leetcode-cn.com/problems/single-number-ii/submissions/)

## 解法一：

设计很巧秒，初始a=0， b=0。

主要是使得第一次运算后，a=x，b=0；第二次a=0，b=x；第三次a=0，b=0……如此循环

相比于136，使用两个辅助变量a，b（而不是单一变量）来运算，ab的组合就有四种状态。

```python
class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        a, b = 0, 0
        for num in nums:
            a = (a ^ num) & ~b
            b = (b ^ num) & ~a
        return a
```
