博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Add Binary
阅读量:4074 次
发布时间:2019-05-25

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

Add Binary

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

For example,

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

Java代码:

public class Solution {    public String addBinary(String a, String b) {        int len = a.length();		if (len > b.length())			len = b.length();		StringBuilder sb = new StringBuilder("");		int flag = 0;		for (int i = 0; i < len; i++) {			if (a.charAt(a.length() - 1 - i) != b.charAt(b.length() - 1 - i)) {				if (flag == 1) {					flag = 1;					sb.append("0");				} else					sb.append("1");			} else {				if (flag == 1) {					sb.append("1");					flag = 0;				} else					sb.append("0");				if (a.charAt(a.length() - 1 - i) == '1') {					flag = 1;				}			}		}		if (len == a.length()) {			for (int i = len; i < b.length(); i++) {				if (b.charAt(b.length() - 1 - i) == '0') {					if (flag == 1) {						flag = 0;						sb.append("1");					} else {						sb.append("0");					}				} else {					if (flag == 1) {						sb.append("0");					} else {						sb.append("1");					}				}			}		} else {			for (int i = len; i < a.length(); i++) {				if (a.charAt(a.length() - 1 - i) == '0') {					if (flag == 1) {						flag = 0;						sb.append("1");					} else {						sb.append("0");					}				} else {					if (flag == 1) {						sb.append("0");					} else {						sb.append("1");					}				}			}		}		if (flag == 1) {			flag = 0;			sb.append("1");		}		sb.reverse();		return sb.toString();    }}

转载地址:http://hjuni.baihongyu.com/

你可能感兴趣的文章
coursesa课程 Python 3 programming 统计文件有多少单词
查看>>
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>
多线程使用随机函数需要注意的一点
查看>>
getpeername,getsockname
查看>>
所谓的进步和提升,就是完成认知升级
查看>>
如何用好碎片化时间,让思维更有效率?
查看>>
No.182 - LeetCode1325 - C指针的魅力
查看>>
Encoding Schemes
查看>>
带WiringPi库的交叉笔译如何处理二之软链接概念
查看>>
Java8 HashMap集合解析
查看>>
自定义 select 下拉框 多选插件
查看>>
linux和windows内存布局验证
查看>>
Linux常用统计命令之wc
查看>>
fastcgi_param 详解
查看>>
搞定Java面试中的数据结构问题
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
React Native(二):属性、状态
查看>>
JSX使用总结
查看>>
React Native(四):布局(使用Flexbox)
查看>>