LeetCode:二进制求和【67】

题目描述

给定两个二进制字符串,返回他们的和(用二进制表示)。

输入为非空字符串且只包含数字 1 和 0

示例 1:

输入: a = "11", b = "1"
输出: "100"

示例 2:

输入: a = "1010", b = "1011"
输出: "10101"

题目分析

  分三部分分别运算、考虑进位值:

   

Java题解

class Solution {
public String addBinary(String a, String b) {
int ptrA = a.length()-1;
int ptrB = b.length()-1;
int jwz = 0;
String sum = "";
while(ptrA>=0&&ptrB>=0)
{
int val = (a.charAt(ptrA)-'0')+(b.charAt(ptrB)-'0')+jwz;
if(val==2){
sum="0"+sum;
jwz=1;
}
else if(val==3)
{
sum="1"+sum;
jwz=1;
}
else{
sum=val+sum;
jwz=0;
}
ptrA--;
ptrB--;
}
while(ptrA>=0){
int val = (a.charAt(ptrA--)-'0')+jwz;
if(val==2)
{
sum="0"+sum;
jwz=1;
}
else{
sum=val+sum;
jwz=0;
}
} while(ptrB>=0){
int val = (b.charAt(ptrB--)-'0')+jwz;
if(val==2)
{
sum="0"+sum;
jwz=1;
}
else{
sum=val+sum;
jwz=0;
}
} if(jwz==1)
sum='1'+sum; return sum;
}
}

  

最新文章

  1. Ubantu Linux 环境下编译c++程序
  2. jquery.nicescroll完美滚动条使用方法
  3. [WPF]设置背景色
  4. U3D assetbundle加载
  5. 【pyhton】import math与import cmath
  6. Android新浪微博客户端(五)——主界面的TabHost和WeiboUtil
  7. Android平台抓取native crash log
  8. MVC中Json的使用:Controller中Json的处理【转】
  9. samba安装与配置
  10. .Net Core建站(4):FTP发布项目及连接服务器数据库
  11. asp.net -mvc框架复习(1)-ASP.NET网站开发概述
  12. 解决MySQL在修改列时因为外键依赖出错的问题
  13. J2EE进阶(七)利用SSH框架根据数据表建立model类
  14. ZooKeeper-API CURD
  15. VMware虚拟机扩展Ubuntu系统磁盘空间
  16. Linux中的wheel用户组是什么?
  17. 阿里云服务器搭建SS代理教程!!!
  18. AOP方法增强自身内部方法调用无效 SpringCache 例子
  19. Inside JVM 内存模型
  20. alt.js 使用教程

热门文章

  1. 使用webapi实现windows本地用户管理
  2. codeblocks如何watch数组
  3. ToString(string format)输出格式简述
  4. jQuery导入代码片段并绑定事件
  5. UTF-8和GBK的区别
  6. php基本语法之逻辑运算符
  7. thinkphp No input file specified的解决方法
  8. 循环杀死Mysql sleep进程脚本
  9. Spark OOM:java heap space,OOM:GC overhead limit exceeded解决方法
  10. poj 2513(欧拉路径+字典树映射)