461. 汉明距离

描述

两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。

给你两个整数 x 和 y,计算并返回它们之间的汉明距离。

链接

461. 汉明距离 - 力扣(LeetCode) (leetcode-cn.com)

 

解法:位运算yyds

大致思路: 通过 异或运算,得到 不同值 的位置(用1表示的);再 通过 右移计算,进行计数。

 1 class Solution {
 2     public int hammingDistance(int x, int y) {
 3         int tmp = x ^ y, res = 0;
 4         while (tmp != 0) {
 5             res += tmp & 1;
 6             tmp >>= 1;
 7         }
 8         return res;
 9     }
10 }

 

posted @ 2021-11-30 22:09  DidUStudy  阅读(44)  评论(0编辑  收藏  举报