leetCode 67.Add Binary (二进制加法) 解题思路和方法
来源:互联网 发布:java连接phoenix 编辑:程序博客网 时间:2024/04/30 10:02
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
思路:二进制加法,比较简单。代码如下:
public class Solution { public String addBinary(String a, String b) { int len = Math.max(a.length(),b.length()); char[] ch = new char[len + 1];//预防进位 int i = a.length() - 1; int j = b.length() - 1; //不考虑进位,全部相加 while(i >= 0 && j >= 0){ ch[len--] = (char) (a.charAt(i--) + b.charAt(j--) - '0'); } //余下仅有一个还未加完 while(i >= 0){ ch[len--] = a.charAt(i--); } while(j >= 0){ ch[len--] = b.charAt(j--); } int k = 0;//进位 //处理进位 for(i = ch.length-1; i >=1; i--){ ch[i] = (char) (k + ch[i] - '0'); k = ch[i]/2; ch[i] = (char) (ch[i]%2 + '0'); } //判断是否还有进位 ch[0] = (char) (k > 0 ? k +'0': '0'); //消除开头的0 return new String(ch).replaceAll("^0", ""); }}
0 0
- leetCode 67.Add Binary (二进制加法) 解题思路和方法
- Leetcode 67. Add Binary 二进制加法 解题报告
- LeetCode Add Binary(二进制加法)
- leetcode Add Binary 二进制加法
- LeetCode Add Binary 高精度二进制加法
- Add Binary 二进制加法
- Add Binary:二进制加法
- [LeetCode] Add Binary 加法
- leetcode67---Add Binary(二进制加法)
- LeetCode 67. Add Binary(二进制加)
- leetcode 67. Add Binary 二进制相加
- leetcode-67. Add Binary(二进制串求和)
- [leetcode] 67. Add Binary 解题报告
- [Leetcode] 67. Add Binary 解题报告
- Add Binary 二进制相加 @LeetCode
- Leetcode:Add Binary 二进制相加
- (LeetCode)Add Binary --- 二进制求和
- LeetCode-Add Binary-解题报告
- Java中使用Jedis操作Redis
- Delaunay算法简介及实现
- Linux内核基于位的自旋锁
- Java程序员学习C++之Vector
- 重新开始:java环境配置
- leetCode 67.Add Binary (二进制加法) 解题思路和方法
- POJ 3667 Hotel 线段树 区间合并
- web2.0之连接池
- [ASP.NET MVC 大牛之路]02 - C#高级知识点概要(2) - 线程和并发
- nohup让程序后台执行
- PHP匹配中文汉字
- AndroidManifest.xml中的application中的name属性
- UIWindow
- WinForm程序启动时不显示主窗体