leetcode-位运算

位运算

371. 两整数之和

题目

给你两个整数 ab不使用 运算符 +- ,计算并返回两整数之和。

示例 1:
输入: a = 1, b = 2 输出: 3
示例 2:
输入: a = 2, b = 3 输出: 5

提示:

  • -1000 <= a, b <= 1000
题解
javascript 复制代码
/**
 * @param {number} a
 * @param {number} b
 * @return {number}
 */
var getSum = function (a, b) {
    // 示例1 2 + 2  10  10
    // 示例2 1 + 2  01 10
    while (b !== 0) {
        /**
         * 有值就是有进位
         * 1. & 两个位都为1时,结果才为1
         * 2. << 左移进位
         */
        const carry = (a & b) << 1;
        /**
         * 1. ^ 两个位相同为0,不同为1
         */
        a = a ^ b; // 示例1 00 示例2 11
        b = carry; // 示例1 100 示例2 00
    }
    return a; // 示例1 100 示例2 11
};
相关推荐
hh随便起个名2 小时前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
程序员爱钓鱼3 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
PineappleCoder3 小时前
工程化必备!SVG 雪碧图的最佳实践:ID 引用 + 缓存友好,无需手动算坐标
前端·性能优化
Dingdangcat863 小时前
城市交通多目标检测系统:YOLO11-MAN-FasterCGLU算法优化与实战应用_3
算法·目标检测·目标跟踪
JIngJaneIL4 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码4 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_4 小时前
列表渲染(v-for)
前端·javascript·vue.js
tang&4 小时前
滑动窗口:双指针的优雅舞步,征服连续区间问题的利器
数据结构·算法·哈希算法·滑动窗口
拼命鼠鼠4 小时前
【算法】矩阵链乘法的动态规划算法
算法·矩阵·动态规划