• [LeetCode] Add Binary


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

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

     1 class Solution 
     2 {
     3     public:   
     4         string addBinary(string a, string b)
     5         {   
     6             string c;
     7             int carry =  0;  
     8             int tmp = 0;
     9             int size = max(a.size(), b.size());
    10     
    11             //逆序,更好处理
    12             reverse(a.begin(), a.end());
    13             reverse(b.begin(), b.end());
    14 
    15 
    16             for(int i = 0; i < size ; i++)
    17             {   
    18                 int ta = 0;
    19                 int tb = 0;
    20                 if(i < a.size()) //越界处理
    21                     ta = a[i] - '0';//处理字符串
    22                 if(i < b.size()) //越界处理
    23                     tb = b[i] - '0';//处理字符串
    24 
    25                 tmp =  ta + tb + carry;
    26                 c.insert(c.begin(), tmp % 2 + '0');
    27                 carry  =  tmp / 2;
    28             }   
    29 
    30             if(carry != 0)
    31                 c.insert(c.begin() ,'1');
    32             return c;
    33         }   
    34 } ;
  • 相关阅读:
    Redis详解(一)——RDB
    十、行锁
    go 上下文context
    go log
    go 结构体取代类
    go select
    go channel
    go 协程(Goroutine)
    go 学习之fmt包
    go 学习之bufio
  • 原文地址:https://www.cnblogs.com/diegodu/p/3815710.html
Copyright © 2020-2023  润新知