leetcode试题之二进制加法--java实现
来源:互联网 发布:sql 查询 having 范围 编辑:程序博客网 时间:2024/06/10 07:26
/*本题的需求是:给出两个字符串,内容是二进制数字,编写计算两个二进制数字和的程序。难点是考虑周到,尤其是最后的一个进位,容易遗忘。*/import java.util.ArrayList;class AddBinary{public static void main(String args[]){ AddBinary addBinary = new AddBinary(); addBinary.AddBinary("11011","11101");}public String AddBinary(String a,String b){ int aLength = a.length(); int bLength = b.length(); String result = ""; ArrayList<Integer> aList = new ArrayList<Integer>(); ArrayList<Integer> bList = new ArrayList<Integer>(); for(int i =0;i<aLength;i++){aList.add(0,Integer.parseInt(a.substring(i,i+1)));}for(int j =0;j<bLength;j++){bList.add(0,Integer.parseInt(b.substring(j,j+1)));} int k =0; int plugnum =0; while(k<aLength && k<bLength) { int a1 = aList.get(k); int b1 = bList.get(k); int sum = a1 + b1 +plugnum; if(sum>=2) { sum = sum % 2; result = String.valueOf(sum)+result; plugnum = 1; } else { result = String.valueOf(sum)+result; } k++; } if(k<aLength) { int i =k; int a2 = aList.get(i); int sum = a2 + plugnum; if(sum>=2) { sum = sum % 2; result = String.valueOf(sum)+result; plugnum =1; } else { result = String.valueOf(sum)+result; } i++; } if(k<bLength) { int i =k; int b2 = bList.get(i); int sum = b2 + plugnum; if(sum>=2) { sum = sum%2; result = String.valueOf(sum)+result; plugnum=1; } else { result = String.valueOf(sum)+result; } i++; } //这一段代码是最后的进位: if(plugnum == 1) { result = String.valueOf(plugnum)+result; } System.out.println("二进制数字的和是:"); System.out.println(result); return result;}}
java AddBinary二进制数字的和是:111000
0 0
- leetcode试题之二进制加法--java实现
- java初学者--实现二进制加法
- 【LeetCode-面试算法经典-Java实现】【067-Add Binary(二进制加法)】
- 二进制加法实现
- c# 实现二进制加法
- java蓝桥杯试题高精度加法函数实现
- LeetCode Add Binary(二进制加法)
- leetcode Add Binary 二进制加法
- 机器学习之递归神经网络RNN实现二进制加法
- Java代码 实现两个二进制数的加法
- php 实现二进制加法运算
- 大数运算之加法乘法---JAVA实现
- LeetCode Add Binary 高精度二进制加法
- 二进制加法机的简单实现
- java蓝桥杯试题高精度加法
- 二进制加法
- 二进制加法
- 二进制加法
- 传输层概念和意义
- Tensorflow之CNN实践
- 计算1到100的和
- 端口 DNS作用
- 线性表的类表示
- leetcode试题之二进制加法--java实现
- JS 的setTimeout的运行方式
- CodeForces 732E Sockets 【贪心】【STL】
- Android vitamio视频播放器
- j2ee学习之在Mac OS下环境的搭建
- Java NIO
- Spring MVC----基础
- WebView
- DDl触发器