371. Sum of Two Integers
- Total Accepted: 48757
- Total Submissions: 94704
- Difficulty: Easy
- Contributors: Admin
Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.
Example:
Given a = 1 and b = 2, return 3.
Credits:
Special thanks to @fujiaozhu for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
Show Similar Problems
先排序,然后每两个一组匹配,
技巧 相同的数字相互"异或"运算"^" ,结果为0
public class Solution {
public int singleNumber(int[] nums) {
Arrays.sort(nums);
int res = 0;
if (nums.length == 0)
return 0;
for (int i = 0; i < nums.length; i += 2) {
if ((i < nums.length - 1) && (nums[i] ^ nums[i + 1]) != 0) {
res = nums[i];
break;
} else {
res = nums[nums.length - 1];
}
}
return res;
}
}
本文介绍了一种特殊的算法问题:如何在不使用传统的加法和减法运算符的情况下计算两个整数的和。通过使用位操作如异或等方法实现了这一目标。
6万+

被折叠的 条评论
为什么被折叠?



