当前位置: 首页 > news >正文

leetcode67:二进制求和

题目链接:67. 二进制求和 - 力扣(LeetCode)

class Solution {
public:string addBinary(string a, string b) {int stralen = a.size(), strblen = b.size();int curtc;int Maxlen = max(stralen, strblen);vector<int> stra;vector<int> strb;vector<int> strc;string ss1;for(int i = 0; i < a.size(); i++){int curta = a[i] - '0';stra.push_back(curta);}for(int i = 0; i < b.size(); i++){int curtb = b[i] - '0';strb.push_back(curtb);}if(stralen < strblen){int difference = strblen - stralen;for(int i = 0; i < difference; i++){stra.insert(stra.begin(), 0);}}if(stralen > strblen){int difference = stralen - strblen;for(int i = 0; i < difference; i++){strb.insert(strb.begin(), 0);}}for(int i = Maxlen - 1; i >= 1; i--){int curt = stra[i] + strb[i];if(curt > 1){curtc = stra[i] + strb[i] - 2;stra[i - 1]++;strc.push_back(curtc);}if(curt == 1){strc.push_back(1);}if(curt == 0){strc.push_back(0);}}if(stra[0] + strb[0] > 1){curtc = stra[0] + strb[0] - 2;strc.push_back(curtc);strc.push_back(1);}if(stra[0] + strb[0] == 1){strc.push_back(1);}if(stra[0] + strb[0] == 0){strc.push_back(0);}for(int i = 0; i < strc.size(); i++){ss1 += strc[i] + '0';}reverse(ss1.begin(), ss1.end());return ss1;}
};

这个题目算作中档题。这个题目实际上我把字符串转成每一个相应的数字了,然后从后往前遍历两个数组的每一位和,大于1在判断是2还是3,这个代码适用于二进制求和,要是其他进制求和,还得另外编写代码。

相关文章:

  • 享元模式
  • Maven的三种项目打包方式——pom,jar,war的区别
  • 代码随想录刷题笔记-哈希表篇
  • Vue3 渲染函数 API(五)
  • 基于ensp的园区网络搭建综合实验
  • Apollo9.0 PNC源码学习之Control模块(二)
  • 【系统学C++】二、从C语言到C++(二)
  • Java应届第一年规划
  • javaFX为例的MVC案例
  • 宽睿数字平台兼容TDengine 等多种数据库,提供行情解决方案
  • Ansible——stat模块
  • java线程变量共享
  • 定时清理Linux服务器缓存shell脚本
  • 绘唐官网绘唐科技
  • mysql中定时器的使用
  • $translatePartialLoader加载失败及解决方式
  • Android系统模拟器绘制实现概述
  • iOS小技巧之UIImagePickerController实现头像选择
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • js算法-归并排序(merge_sort)
  • node-glob通配符
  • Redis 懒删除(lazy free)简史
  • win10下安装mysql5.7
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 构建工具 - 收藏集 - 掘金
  • 关于for循环的简单归纳
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 如何使用 JavaScript 解析 URL
  • 入门到放弃node系列之Hello Word篇
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 算法---两个栈实现一个队列
  • 通过几道题目学习二叉搜索树
  • 用Python写一份独特的元宵节祝福
  • 再次简单明了总结flex布局,一看就懂...
  • 责任链模式的两种实现
  • 06-01 点餐小程序前台界面搭建
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • #预处理和函数的对比以及条件编译
  • ()、[]、{}、(())、[[]]命令替换
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (九)One-Wire总线-DS18B20
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (算法)硬币问题
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • .gitignore文件—git忽略文件
  • .NET Core 中插件式开发实现
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .net开发引用程序集提示没有强名称的解决办法