精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (10)
|
|
---|---|
作者 | 正文 |
发表时间:2011-07-11
//交换a和b的值 public void swap(int a ,int b){ int temp = a; a = b; b = temp; } 要求:修改此方法,不能定义temp中间变量,实现值得交换 ...没想到怎么搞。。。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-07-12
最后修改:2011-07-12
public void swap(int a ,int b){
b = a + b; a = b - a; b = b - a; System.out.println(" a = " + a ); System.out.println(" b = " + b ); } |
|
返回顶楼 | |
发表时间:2011-07-12
如果是c或者c++,这样就行了:
public void swap(int & a ,int & b){ int temp = a; a = b; b = temp; } 如果是Java,简单数据类型参数是没戏了。 |
|
返回顶楼 | |
发表时间:2011-07-12
二楼正解,记得是在哪本书上有写
|
|
返回顶楼 | |
发表时间:2011-07-12
这个太基本了吧................
|
|
返回顶楼 | |
发表时间:2011-07-12
我记得我上次面试也问了这个,我当时顿住了,10钞后想出来了,没有第三变量,必然是两个变量相加和相减操作,a=a+b;b=a-b;a=a-b;
|
|
返回顶楼 | |
发表时间:2011-07-12
a = a + b;
b = a - b; a = a - b; |
|
返回顶楼 | |
发表时间:2011-07-12
最后修改:2011-07-12
zhangyang6380006 写道 我记得我上次面试也问了这个,我当时顿住了,10钞后想出来了,没有第三变量,必然是两个变量相加和相减操作,a=a+b;b=a-b;a=a-b;
如果2个变量都是数字,这样可以 字符串的话,就不行了。 这样比较通用: public void swap(int a ,int b){ b ^= a ^= b ^= a; System.out.println(" a = " + a ); System.out.println(" b = " + b ); } |
|
返回顶楼 | |
发表时间:2011-07-12
jancy 写道 zhangyang6380006 写道 我记得我上次面试也问了这个,我当时顿住了,10钞后想出来了,没有第三变量,必然是两个变量相加和相减操作,a=a+b;b=a-b;a=a-b;
如果2个变量都是数字,这样可以 字符串的话,就不行了。 这样比较通用: b ^= a ^= b ^= a; 写这么复杂。。。。。 实际上就是异或操作 a=a^b; b=b^a; a=b^a; |
|
返回顶楼 | |
发表时间:2011-07-12
难道面试的啥子软公司 ?
|
|
返回顶楼 | |