【剑指Offer】不用加减乘除做加法 解题报告(Java)

标签(空格分隔): 剑指Offer


题目地址:https://www.nowcoder.com/ta/coding-interviews

题目描述:

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

解题方法

这就是LeetCode的Sum of Two Integers题目,Python版本的比较复杂,所以这里用的Java写的。道理是一样的,通过异或模拟无进位的加法,通过与运算模拟进位。

代码:

public class Solution {
public int Add(int num1,int num2) {
int sum = 0;
int carry = 0;
while(num2 != 0){
sum = num1 ^ num2;
carry = (num1 & num2) << 1;
num1 = sum;
num2 = carry;
}
return num1;
}
}

Date

2018 年 3 月 26 日 – 学车要早起,困= =

最新文章

  1. 新春测 kinect motor
  2. Play Framework 完整实现一个APP(二)
  3. php get传递数据
  4. 【C语言】5-结构体
  5. Chrome已原生支持“Chrome To Mobile”
  6. Git + Maven + Jenkins 实现分布式部署
  7. 关于bootstrap-fileinput
  8. C#组件系列——又一款日志组件:Elmah的学习和分享
  9. 【记录】Linux环境安装mysql8.0
  10. vue组件详解——使用slot分发内容
  11. Laravel设置软删除及其恢复系列操作
  12. [20180713]关于hash join 测试中一个疑问.txt
  13. SQL Server Management Studio最新版下载地址
  14. Java8 list根据对象某个属性去重
  15. python 流程控制(for循环语句)
  16. 链表用途&amp;&amp;数组效率&amp;&amp;链表效率&amp;&amp;链表优缺点
  17. 关于easyui的问答(来自百度问答)
  18. jquery开发的数字相加游戏(你能玩几分)
  19. [转]mysql 行转列 列转行
  20. Pycharm出现的部分快捷键无效问题及解决办法

热门文章

  1. git添加新账号
  2. 55. Binary Tree Preorder Traversal
  3. MapReduce08 数据清洗(ETL)和压缩
  4. Oracle中创建DB LINK
  5. Apache架构师的30条设计原则
  6. Templates and Default Arguments
  7. spring-dm 一个简单的实例
  8. mysql之join浅析
  9. 【编程思想】【设计模式】【行为模式Behavioral】registry
  10. java 动态代理—— Mybaties 拦截器链基本原理实现