力扣刷题——位运算—只出现1次的数字

137. 只出现一次的数字 II(其他都出现了3次)

力扣刷题——位运算—只出现1次的数字_第1张图片

题目分析
  • 1.每个整数都是32位的2进制;
  • 2.因为除了目标元素res外,其他元素都出现了3次,所以,其他元素们在同1个二进制位置上的 加和 sum 对3取余因该是0,如果不是0,而是1,说明这是res所在的1;
  • 3.依次遍历32位,每1位都对nums数组中的元素求和
class Solution {
   
    public int singleNumber(int[] nums) {
   
        int res = 0;
         1.因为nums[i]32位整数, 对nums数组在此位置上的二进制位,进行加和
        for (int i = 0; i <

你可能感兴趣的:(力扣刷题思考,leetcode)