首页 > 其他 > 详细

LeetCode-Add Binary

时间:2016-05-04 06:33:21      阅读:210      评论:0      收藏:0      [点我收藏+]
Given two binary strings, return their sum (also a binary string).

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

这道题不难,注意分清情况。

public class Solution {
    public String addBinary(String a, String b) {
        String str="";
        int i=a.length()-1;
        int j=b.length()-1;
        int pass=0;
        while(i >= 0 && j>=0){
            if(Character.getNumericValue(a.charAt(i))+Character.getNumericValue(b.charAt(j))+pass >= 2){
                int digit=(Character.getNumericValue(a.charAt(i))+Character.getNumericValue(b.charAt(j))+pass)-2;
                str=Integer.toString(digit)+str;
                pass=1;
                i--;
                j--;
            }
            else{
                int digit=Character.getNumericValue(a.charAt(i))+Character.getNumericValue(b.charAt(j))+pass;
                str=Integer.toString(digit)+str;
                pass=0;
                i--;
                j--;
            }
        }
        while(j>=0){
            if(Character.getNumericValue(b.charAt(j))+pass>=2){
                int digit=Character.getNumericValue(b.charAt(j))+pass-2;
                str=Integer.toString(digit)+str;
                pass=1;
                j--;
            }
            else{
                int digit=Character.getNumericValue(b.charAt(j))+pass;
                str=Integer.toString(digit)+str;
                pass=0;
                j--;
            }
        }
        while(i>=0){
                if(Character.getNumericValue(a.charAt(i))+pass>=2){
                int digit=Character.getNumericValue(a.charAt(i))+pass-2;
                str=Integer.toString(digit)+str;
                pass=1;
                i--;
            }
            else{
                int digit=Character.getNumericValue(a.charAt(i))+pass;
                str=Integer.toString(digit)+str;
                pass=0;
                i--;
            }
        }
        if(pass==1){
            str=Integer.toString(pass)+str;
        }
        return str;
        
    }
}

 

LeetCode-Add Binary

原文:http://www.cnblogs.com/incrediblechangshuo/p/5457087.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!