博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode : Add Bianry 基本功 字符转整数
阅读量:4924 次
发布时间:2019-06-11

本文共 1549 字,大约阅读时间需要 5 分钟。

Given two binary strings, return their sum (also a binary string).

For example,

a = "11"
b = "1"
Return "100".

 

tag: 字符asc码 。字符和数字加减法 。 '1' - '0' = 1 .  '1' - 0 != 0

 

public class Solution {    public String addBinary(String a, String b) {        StringBuilder result = new StringBuilder();        if(a == null && b == null) {            return result.toString();        }        if(a == null) {            return b;        }        if(b == null) {            return a;        }        int aIndex = a.length() - 1;        int bIndex = b.length() - 1;        int carry = 0;                while(aIndex >= 0 && bIndex >= 0) {            int sum = (int)((a.charAt(aIndex) - '0') + (b.charAt(bIndex) - '0') + carry ) % 2;            carry = (int)((a.charAt(aIndex) - '0') + (b.charAt(bIndex) - '0') + carry ) / 2;            result.append(sum);            aIndex--;            bIndex--;        }                while(aIndex >= 0){            int sum = (int)((a.charAt(aIndex) - '0') + carry ) % 2;            carry = (int)((a.charAt(aIndex) - '0') + carry) / 2;            result.append(sum);            aIndex--;        }                 while(bIndex >= 0){            int sum = (int)((b.charAt(bIndex) - '0') + carry ) % 2;            carry = (int)((b.charAt(bIndex) - '0') + carry) / 2;            result.append(sum);            bIndex--;        }                if(carry == 1) {            result.append("1");        }                 return result.reverse().toString();                    }}

  

转载于:https://www.cnblogs.com/superzhaochao/p/6480609.html

你可能感兴趣的文章
Windows 8 动手实验系列教程 实验4:应用栏和媒体捕获
查看>>
行为驱动开发: Cucumber的目录结构和执行过程 (转载)
查看>>
Shiro学习详解
查看>>
6最小公倍数和最大公约数的计算(未完期待)
查看>>
创建UITabBarController
查看>>
Kotlin学习记录3
查看>>
C#版本和.NET版本以及VS版本的对应关系
查看>>
单调栈与单调队列
查看>>
go 切片
查看>>
注册维))基))百))科))
查看>>
eclipse 中手动安装 subversive SVN
查看>>
react常用语法
查看>>
【json的使用】
查看>>
ural 1519 Formula 1(插头dp)
查看>>
序列化和反序列化
查看>>
Web服务器Nginx多方位优化策略
查看>>
作业六:三层神经网络调参
查看>>
Java中的hashcode方法
查看>>
OpenCV学习 7:图像形态学:腐蚀、膨胀
查看>>
软件需求与分析课堂讨论一
查看>>