面试题 17.01:不用加号的加法

This commit is contained in:
轩辕龙儿 2022-03-21 22:44:46 +08:00
parent 81844b8b6e
commit 0bb2b89a67
2 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,36 @@
//设计一个函数把两个数字相加不得使用 + 或者其他算术运算符
//
// 示例:
//
// 输入: a = 1, b = 1
//输出: 2
//
//
//
// 提示
//
//
// a, b 均可能是负数或 0
// 结果不会溢出 32 位整数
//
// Related Topics 位运算 数学 👍 70 👎 0
package leetcode.editor.cn;
//面试题 17.01:不用加号的加法
public class AddWithoutPlusLcci {
public static void main(String[] args) {
Solution solution = new AddWithoutPlusLcci().new Solution();
}
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public int add(int a, int b) {
if (b == 0) return a;
return add(a ^ b, (a & b) << 1);
}
}
//leetcode submit region end(Prohibit modification and deletion)
}

View File

@ -0,0 +1,16 @@
<p>设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。</p>
<p><strong>示例:</strong></p>
<pre><strong>输入:</strong> a = 1, b = 1
<strong>输出:</strong> 2</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>a</code>,&nbsp;<code>b</code>&nbsp;均可能是负数或 0</li>
<li>结果不会溢出 32 位整数</li>
</ul>
<div><div>Related Topics</div><div><li>位运算</li><li>数学</li></div></div><br><div><li>👍 70</li><li>👎 0</li></div>