加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

LeeCode from 0 —— 67. Add Binary

发布时间:2020-12-14 03:21:33 所属栏目:大数据 来源:网络整理
导读:67.?Add Binary Given two binary strings,return their sum (also a binary string). The input strings are both?non-empty?and contains only characters? 1 ?or? 0 . 解题思路: 1)将每一位字符都转换为数字,将两个字符串对应位的数字相加。若需要进位

67.?Add Binary

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

The input strings are both?non-empty?and contains only characters?1?or?0.

解题思路:

1)将每一位字符都转换为数字,将两个字符串对应位的数字相加。若需要进位,则保存进位的值并在下一次相加时加上进位。对应位若不存在则设为0,相加。

2)若两个字符串所有对应位相加结束,判断最后一个进位是否为1,若为1,则在字符串最前面补1.

C++代码如下:

class Solution {public: string addBinary(string a,string b) {? ? ? ? ? ? ? ? ? ? ? ? int n=a.length()-1;? ? ? ? ? ? ? ? ? ? ? ? int m=b.length()-1;? ? ? ? ? ? ? ? ? ? ? ? int p=0;? ? ? ? ? ? ? ? ? ? ? ? string c="" ;? ? ? ? ? ? ? ? ? ? ? ? while(n>=0 || m>=0){? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?int i= n>=0 ? a[n--]-‘0‘:0;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?int j= m>=0 ? b[m--]-‘0‘:0;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?int sum=i+j+p;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? c=to_string(sum%2)+c;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p=sum/2;? ? ? ? ? ? ? ? ? ? ? ?}? ? ? ? ? ? ? ? ? ? ? c= p==1 ? ‘1‘+c :c;? ? ? ? ? ? ? ? ? ? ? return c; ? }};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读