1.题目
LeetCode: 371. 两整数之和
【medium】
2.解题
方法一:递归法
a ^ b求得两个数的和, (a & b) << 1求得进位,和与进位不断求和,直至进位为0停止。
java:
class Solution {
public int getSum(int a, int b) {
return b == 0 ? a : getSum((a ^ b), (a & b) << 1);
}
}
本文解析了LeetCode题目371,介绍了使用递归方法解决两整数之和问题的思路,通过异或(XOR)操作求得无进位和,按位与(AND)与左移操作实现进位,逐步求解直到进位为0。Java代码演示了如何优雅地实现这一过程。
LeetCode: 371. 两整数之和
【medium】
a ^ b求得两个数的和, (a & b) << 1求得进位,和与进位不断求和,直至进位为0停止。
java:
class Solution {
public int getSum(int a, int b) {
return b == 0 ? a : getSum((a ^ b), (a & b) << 1);
}
}
883
1692
2529

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