首页 > 其他 > 详细

p85 二进制字符串求和(leetcode 67)

时间:2020-04-04 22:29:38      阅读:75      评论:0      收藏:0      [点我收藏+]

一:解题思路

Time:O(max(m,n)),Space:O(max(m,n))

二:完整代码示例 (C++版和Java版)

C++:

class Solution {
public:
    string addBinary(string a, string b) 
    {
        int i = a.length() - 1, j = b.length() - 1, carry = 0;
        string sb = "";
        while (i >= 0 || j >= 0 || carry != 0)
        {
            int sum = carry;
            if (i >= 0) sum += a[i--] - 0;
            if (j >= 0) sum += b[j--] - 0;
            sb.append(to_string(sum%2));
            carry = sum / 2;
        }

        reverse(sb.begin(),sb.end());

        return sb;
    }
};

Java:

class Solution {
        public String addBinary(String a, String b)
        {
              StringBuilder sb=new StringBuilder();
              int i=a.length()-1,j=b.length()-1,carry=0;
              while(i>=0 || j>=0 || carry!=0)
              {
                  int sum=carry;
                  if(i>=0) sum+=a.charAt(i)-0;
                  if(j>=0) sum+=b.charAt(j)-0;
                  sb.append(sum%2);
                  carry=sum/2;
              }

              return sb.reverse().toString();
        }
    }

 

p85 二进制字符串求和(leetcode 67)

原文:https://www.cnblogs.com/repinkply/p/12634273.html

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