首页 > 学院 > 开发设计 > 正文

[LeetCode]461.Hamming Distance

2019-11-06 07:26:12
字体:
来源:转载
供稿:网友

[LeetCode]461.Hamming Distance

题目描述

这里写图片描述

思路

按照题目要求,最简单的思路是求异或,然后数异或结果的二进制表示中1的个数 异或简单,具体是数1的过程 答案的方法是 n&(n - 1) 从右向左一次数1 比如: xxxx10 减1后是 xxxx01 进行与操作之后是 xxxx00 最右面的1就消去了 循环计数直到n为0

代码

class Solution {public: int hammingDistance(int x, int y) { int i = 0, n = x ^ y; while(n) { ++i; n &= n - 1; } return i; }};
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表