zoukankan      html  css  js  c++  java
  • leetcode Add Binary

    题目:给定两个二进制字符串,返回相加的结果,也是二进制表示。

    主要就是考查进位如何操作,以及最后如果加完之后进位还是1的话那么不能漏了还要加1.跟之前有做过一题的类似。

    因为这题easy就是判断,所以直接贴代码了,感觉好长的样子。

    class Solution {
    public:
        string addBinary(string a, string b) {
            if(a.size()==0 || b.size()==0) return a+b;
            string ans = "";
            int up = 0, lena = a.size() - 1, lenb = b.size() - 1;
            while(lena >= 0 && lenb >= 0)
            {
                if (a[lena] == b[lenb] && a[lena] == '1')
                {
                    if(up == 1)
                        ans = '1' + ans;
                    else
                    {
                        ans = '0' + ans; up=1;         
                    }
                }
                else if (a[lena] == '0' && b[lenb] == '0')
                {
                    if(up == 1)
                        {ans = '1' + ans; up = 0;}
                    else
                        ans = '0' + ans;
                }
                else
                {
                    if(up == 1)
                        {ans = '0' + ans; up = 1;}
                    else
                        ans = '1'+ ans;
                }
                lena--; lenb--;
            }
            while(lena>=0)
            {
                if(a[lena] == '1' && up == 1)
                    ans = '0' + ans;
                else if (up == 1)
                {
                    ans = '1' + ans; up = 0;
                }
                else
                {
                    ans = a[lena] + ans;
                }
                lena--;
            }
            while(lenb>=0)
            {
                if(b[lenb] == '1' && up == 1)
                    ans = '0' + ans;
                else if (up == 1)
                {
                    ans = '1' + ans; up = 0;
                }
                else
                {
                    ans = b[lenb] + ans;
                }
                lenb--;
            }
            if(up == 1)
                ans = '1' + ans;
            return ans;
        }
    };
  • 相关阅读:
    数据中心基础设施自动化运维之puppet专项
    centos git版本服务器配置
    安装PHP出现make: *** [sapi/cli/php] Error 1 解决办法
    php5.5 yum源
    CentOS下源码安装Apache2.4+PHP5.4+MySQL5.5
    php升级到5.4
    puppet重申证书
    passwnger
    Http状态消息
    UVA 10168 Summation of Four Primes(数论)
  • 原文地址:https://www.cnblogs.com/higerzhang/p/4084283.html
Copyright © 2011-2022 走看看