码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode------Add Binary

时间:2015-01-27 19:57:32      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:

标题: Add Binary
通过率: 25.1%
难度: 简单

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

For example,
a = "11"
b = "1"
Return "100".

本题主要就是模拟二进制去处理,跟上次做到的那个plus one有点类似就是进位操作,但是本题是多位相加,刚开始做的时候我是以长度最短的为界限,后来发现非常麻烦,应该以长度长的作为界限,然后超过的位数去补0就行了,然后还有一个地方就是关于进位操作不用一个标志位去处理,利用一个整数,具体如何操作看代码即可:

 1 public class Solution {
 2     public String addBinary(String a, String b) {
 3         int lena=a.length();
 4         int lenb=b.length();
 5         int flag=0;
 6         String result="";
 7         int tmp=0;
 8         for(int i=0;i<Math.max(lena,lenb);i++){
 9             int p=0,q=0;
10             if(i<lena)
11                 p=a.charAt(lena-1-i)-‘0‘;
12             else 
13                 p=0;
14             if(i<lenb)
15                 q=b.charAt(lenb-1-i)-‘0‘;
16             else 
17                 q=0;
18             tmp=p+q+flag;
19             flag=tmp/2;
20             tmp=tmp%2;
21             //result+=tmp;
22             result=String.valueOf(tmp)+result;
23         }
24         if(flag==0)return result;
25         return "1"+result;
26     }
27 }

 

leetcode------Add Binary

标签:

原文地址:http://www.cnblogs.com/pkuYang/p/4253587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!