1、C++的代码实现如下: class Solution { public: // 使用有限状态机 int singleNumber(vector<int>& nums) { int ones = 0, twos = 0; for(int num : nums) { ones = (ones ^ num) & ~twos; twos = (twos ^ num) & ~ones; } return ones; } }; 2、有限状态机详细的位运算推导见下图(未经允许请勿转载)