Add Binary
来源:互联网 发布:编程语言实现模式 pdf 编辑:程序博客网 时间:2024/06/14 07:32
题目描述
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
主要问题在于两个字符串谁长谁短,短的那个之后就要被看做0.然后就是计算,可以转化为int计算,更简便的是直接用char-'0',(char)int+'0'来在char与int之间自由转换。
public String addBinary(String a, String b) { if(a.length()==0&&b.length()==0) return ""; if(a.length()==0) return b; if(b.length()==0) return a; int len = Math.max(a.length(),b.length()); char[] res = new char[len]; int i = a.length()-1; int j = b.length()-1; int ch = 0; int index = len - 1; while(i>=0||j>=0){ int f = (i >= 0?a.charAt(i)-'0':0); int s = (j >= 0?b.charAt(j)-'0':0); res[index] = (char)((f+s+ch)%2+'0'); ch = (f+s+ch)>1?1:0; i--; j--; index--; } return ch == 0?new String(res):1+new String(res); }
阅读全文
0 0
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- 随便写写
- Qt存储图片到数据库案例实现
- 字符串的用法(字符串的截取和判断)
- codeblocks找不到编译器
- c++ primer第四版 ”去除个别成员“问题
- Add Binary
- 关于Ubuntu下submit 中文输入问题的解决办法
- GOlang和LiteIDE在Win10环境64位中安装与配置教程(附链接)
- NFS 在Centos中安装
- PAT甲级 1019. General Palindromic Number (20)
- C++模拟string类
- ionic与Cordova的学习(补充)
- java并发编程实战-基础构建模块1
- python基础2之数据类型---列表