首页 > 代码库 > 【leetcode】Add Binary
【leetcode】Add Binary
Add Binary
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
Hide Tags
Math String先补全字符串,从末尾开始加,每次计算当前位和进位即可
1 class Solution { 2 public: 3 char addBit(char a,char b,char &c) 4 { 5 if(a==b&&a==‘1‘) 6 { 7 char ret; 8 ret=c; 9 c=‘1‘;10 return ret;11 }12 else if(a==b&&a==‘0‘)13 {14 15 if(c==‘0‘)16 {17 return ‘0‘;18 }19 else20 {21 c=‘0‘;22 return ‘1‘;23 }24 }25 else26 {27 if(c==‘1‘)28 return ‘0‘;29 else30 return ‘1‘;31 32 }33 }34 35 string addBinary(string a, string b) {36 37 int na=a.length()-1;38 int nb=b.length()-1;39 40 if(na!=nb)41 {42 string tmp(abs(na-nb),‘0‘);43 if(na>nb)44 b=tmp+b;45 else46 a=tmp+a;47 }48 49 int i=a.length()-1;50 string result(a.length(), ‘1‘);51 char c=‘0‘;52 53 while(i>=0)54 {55 result[i]=addBit(a[i],b[i],c);56 i--;57 }58 if(c==‘0‘)59 {60 return result;61 }62 else63 {64 return ‘1‘+result;65 }66 }67 };
【leetcode】Add Binary
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。