经典面试题(三十八)-- 整数转换
发布于 2021-09-07 10:27 ,所属分类:2021面试经验技巧分享
来源:LeetCode
难度:简单
描述:
整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B
示例1:
输入:A = 29 (或者0b11101), B = 15(或者0b01111)
输出:2
示例2:
输入:A = 1,B = 2
输出:2
分析:
要知道改变几个位才能将A转换为B,那么首先得知道A和B之间有哪几位不一样,只要先找出这些不一样的元素,挨个转换即可。本题利用二进制中的位运算解题
解题
方法一:异或法
思路:
利用异或特性:相同为0,不同为1。将整数A和B进行异或,然后对得到的结果进行挨个判断,记录二进制中1的个数,有几个1就是需要转换几次
代码:
1publicintconvertInteger(intA,intB){
2intxor=A^B;
3intans=0;
4while(xor!=0){
5//temp&(temp-1)可以把temp最右边的1置0,其余位不变
6//这样,这个操作执行了几次,就是有几位要转换
7xor=(xor&xor-1);
8ans++;
9}
10returnans;
11}以上仅是个人思路解法,觉得还不错欢迎点赞分享
往期精彩推荐
二叉树(八)--翻转二叉树
经典面试题(十五)--水壶问题
二叉树(七)--合并二叉树


![[JAVA面试题] 传智博客Java就业班面试资料java面试题(程序猿面试技巧+常见笔试题分析) 六讲](https://static.kouhao8.com/sucaidashi/xkbb/78347caafea46f36a69b5d05ca66ad05.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
![[就业指导] Java面试题专属视频 最新Java阿里京东美团滴滴java面试题及答案教程](https://static.kouhao8.com/sucaidashi/xkbb/be2bcf6c23bac0005fdd61e16024bd9c.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)


![[JAVA面试题] Java BAT大型公司面试专属必备技能视频教程](https://static.kouhao8.com/sucaidashi/xkbb/faf2918ea254fd9be00db2eca82f6b78.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)

![[就业指导] Java面试题视频找工作不用愁](https://static.kouhao8.com/sucaidashi/xkbb/979e2e0a2e6f5a53ab3c1bff94ed0e20.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)



![[就业指导] Java面试专属视频 最新Java阿里京东美团滴滴面试题及答案教程](https://static.kouhao8.com/sucaidashi/xkbb/fb2f88633d9be374ae995992b13e7779.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
![[java面试题] 尚硅谷1024程序员福利之java学科新增面试宝典视频教程](https://static.kouhao8.com/sucaidashi/xkbb/f5826c371702bac5fb45b06bb7c24342.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)




![JAVA面试题] 极客JavaWeb工程师全套视频教程 (初级+中级+高级) 一共485集 送面试辅导](https://static.kouhao8.com/sucaidashi/xkbb/439729a81224e1d2bd719383b03cd0dc.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
![[就业指导] 2017最新IOS面试必看题教程 尚学堂 iOS面试题 视频教程 教学视频](https://static.kouhao8.com/sucaidashi/xkbb/49649e1f340e7901b2b85424b87b24d4.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
![[Python] Python实战视频教程 基于Python项目与面试题讲解-Python核心技术进阶训练篇](https://static.kouhao8.com/sucaidashi/xkbb/ca6c1f3f4d1532b281ecdc1542c96831.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)


![[项目实战] Python实战视频教程 Python核心技术进阶训练篇 基于Python项目与面试题](https://static.kouhao8.com/sucaidashi/xkbb/cce0cbfcce42787e572f6df16e475cc9.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)

![[项目实战] Python实战视频教程 Python核心技术进阶训练篇 基于Python项目与面试题讲解](https://static.kouhao8.com/sucaidashi/xkbb/110e0fb426046bcd7b8eeef1cdf23231.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
![[iOS] 极客学院 高级编程课程视频 iOS开发工程师 全程培养计划 9.2G 讲解必会面试题](https://static.kouhao8.com/sucaidashi/xkbb/fed110993a9d98e708b2a116de6749bc.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
![[项目实战] Python实战视频教程 Python核心技术进阶训练篇 基于Python项目与面试题讲解](https://static.kouhao8.com/sucaidashi/xkbb/8c630153ca79433c5d8a4d716beb7a16.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
相关资源