Add Binary
Given two binary strings, return their sum (also a binary string).
Example
a = 11
b = 1
Return 100
solution:
比较两个string的长度,将长读较小的string左边用0补齐。
设置进位标志flag。循环结束后如果进位标识大于0,则返回进位加上其他string;否则返回新string;
char 0对应ASCII码表中30
1对应31。。。。减去0所对应的值以后就得到了1,0的数值
代码参考
public class Solution { /** * @param a a number * @param b a number * @return the result */ public String addBinary(String a, String b) { // Write your code here int m=a.length(); int n=b.length(); int flag=0; String sum=""; int maxLen=Math.max(m,n); for(int i=0;i<maxLen;i++) { int p=0,q=0; if(i<m) { p=a.charAt(m-1-i)-‘0‘; } else { p=0; } if(i<n) { q=b.charAt(n-1-i)-‘0‘; } else { q=0; } int temp=p+q+flag; flag=temp/2; sum=temp%2+sum; } if(flag==0) { return sum; } else { return "1"+sum; } } }
时间: 2024-10-09 16:42:27