您的位置:首页 > 职场人生

另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)

2008-06-08 20:45 190 查看
 这个题貌似完全颠覆一般的Logic:交换两个整数需要一个额外的空间用于保存:t = b;b = a;a  = t;粗看上去似乎没有办法,但是仔细想一下,既然不能用额外的空间,那么能用的方法就只有数学方法,也许有效,那么第一个想法就是用A+b看看,稍微想一下就可以得到下面这个解法: a = a + b;
 b = a - b;
 a = a - b;
还有更绝的(由DxZ网友提供):a = a ^ b;
b = a ^ b;
a = a ^ b; 其实很多这样的题目并不难,只是需要一点点的Think outside the box :) 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐