zoukankan      html  css  js  c++  java
  • leetcode

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

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

    class Solution {
    public:
        std::string addBinary(std::string a, std::string b) {
    		int la = a.size();
    		int lb = b.size();
    		int len = std::min(la,lb);
    		std::reverse(a.begin(),a.end());
    		std::reverse(b.begin(),b.end());
    		std::string c;
    		int s = 0;
    		for (int i = 0; i < len; i++)
    		{
    			s += a[i] - '0' + b[i] - '0';
    			c.insert(c.begin(),s % 2 + '0');
    			s /= 2;
    		}
    		if(la < lb)
    		{
    			for (int i = la; i < lb; i++)
    			{
    				s += b[i] - '0';
    				c.insert(c.begin(),s % 2 + '0');
    				s /= 2;
    			}
    		}
    		else
    		{
    			for (int i = lb; i < la; i++)
    			{
    				s += a[i] - '0';
    				c.insert(c.begin(),s % 2 + '0');
    				s /= 2;
    			}
    		}
    		if(s > 0)
    		{
    			c.insert(c.begin(),s + '0');
    		}
    #if 0
    		for (int i = 0; i < c.size(); i++)
    		{
    			std::cout << c[i];
    		}
    		std::cout << std::endl;
    #endif // 1
    
    		return c;
        }
    };


  • 相关阅读:
    字体图标的制作
    vs code 本地调试配置
    瀑布流
    web组件化开发第一天
    超时调用和间歇调用
    递归 闭包
    继承
    面向对象的程序设计
    function类型
    Date类型
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/5045052.html
Copyright © 2011-2022 走看看