67. Add Binary 二进制加法leetcode
生活随笔
收集整理的這篇文章主要介紹了
67. Add Binary 二进制加法leetcode
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
67 Add Binary 二進制加法leetcode
- 題目描述
- 方法1:
- 方法2:
題目描述
Given two binary strings a and b, return their sum as a binary string.
中文:給定兩個二進制的字符串,計算他們的加法和,結果以字符串返回
知識點:
1.字符轉數字:該字符 - ‘0’
2.二進制加法
3.進位處理
方法1:
思路:將短字符串前面補零,從后往前對應相加,
二進制加法:
1+1=10,1+1+1=11
十進制加法:
結果有四種情況:0、1、2、3 后兩種需要將進位標志設置為1.
方法2:
這種方法就是使用數組,從后往前遍歷,不齊補零,商表進位,余數表示相加結果值;
class Solution { public:string addBinary(string a, string b) {int a_len = a.size()-1;int b_len = b.size()-1;string re = "";int carry = 0;while(a_len>=0 || b_len>=0){int p_a = a_len>=0? a[a_len--]-'0':0;int p_b = b_len>=0? b[b_len--]-'0':0;int sum = p_a + p_b + carry;carry = sum / 2;re = to_string(sum%2) + re;}return carry==1?"1"+re:re;} };總結
以上是生活随笔為你收集整理的67. Add Binary 二进制加法leetcode的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ceph radosgw-admin的操
- 下一篇: BUUCTF WEB [BSidesCF