在 Java 中如何不使用临时变量交换两个整数?
How to swap two integer without swapping the temporary variable in Java?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Programming
标签: swap, xor, overflow
参考答案摘要
答案 这是一个非常常见的“技巧题”。解决方法很多,但必要条件是:不能使用临时变量交换。如果你能考虑到整数溢出并给出对应方案,会给面试官留下很好的印象。 假设有两个整数 i 和 j,i=7、j=8,如何在不使用第三个变量的情况下交换它们?我们需要用 Java 的编程结构来完成。可以通过加减乘除等数学运算来交换,但可能会带来整数溢出问题。 使用加法与减法: 1. a= a + b; 2. b=a - ...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。