[LeetCode]—Add Binary 两个字符串二进制相加

来源:互联网 发布:有寓意的网名知乎 编辑:程序博客网 时间:2024/05/16 14:54

Add Binary

 


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

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

思路简单,代码要写的简洁高效才好。

#include<iostream>#include<string>#include<sstream>#include<algorithm>using namespace std;class Solution {public:    string addBinary(string a, string b) {        int len_a=a.length();        int len_b=b.length();        int carry=0,temp;        string res="";            int len=max(len_a,len_b);        for(int i=0;i<len;i++){          int p=(i<len_a)?a[len_a-1-i]-'0':0;          int q=(i<len_b)?b[len_b-1-i]-'0':0;                      temp=p+q+carry;          carry=temp/2;         res.insert(res.begin(),temp%2+'0');        }                return (carry==0)?res:"1"+res;    }        };


0 0
原创粉丝点击