67. 二进制求和
思路:
跟十进制加法是一样的,只不过进位不是10而已。 其实代码可以精简一点。 但不想花精力干这个事儿了。
1 /** 2 * @param {string} a 3 * @param {string} b 4 * @return {string} 5 */ 6 var addBinary = function(a, b) { 7 let indexA = a.length-1, indexB = b.length-1; 8 let res = ''; 9 // 进位 10 let remains = 0; 11 while(indexA >= 0 && indexB >= 0){ 12 let charA = Number(a.charAt(indexA)), charB = Number(b.charAt(indexB)); 13 let tmpRemains = remains; 14 remains = (charA + charB + tmpRemains) >> 1; 15 res = ((charA + charB + tmpRemains) % 2) + res; 16 indexA--; 17 indexB--; 18 } 19 while(indexA >= 0){ 20 let charA = Number(a.charAt(indexA)); 21 let tmpRemains = remains; 22 remains = (charA + tmpRemains) >> 1; 23 res = ((charA + tmpRemains) % 2) + res; 24 indexA--; 25 } 26 while(indexB >= 0){ 27 let charB = Number(b.charAt(indexB)); 28 let tmpRemains = remains; 29 remains = (charB + tmpRemains) >> 1; 30 res = ((charB + tmpRemains) % 2) + res; 31 indexB--; 32 } 33 if(remains > 0){ 34 res = '1' + res; 35 } 36 return res; 37 };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)