• 【Leetcode】【Easy】Add Binary


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

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

    解题思路:

    从两个子字符尾部遍历字符;

    每次得到新的字符插入结果字符串的头部;

    解题步骤:

    1、建立返回string、从后向前遍历的idx:idx_a / idx_b、进位量
    2、循环开始,当idx_a或者idx_b任意不为0时,循环继续:
     (1)临时整形sum = 进位值;
     (2)如果idx_a不为0,则加上a[idx_a - 1],idx_a--;同理对idx_b;
     (3)更新进位值和sum,并将sum以字符的形式插入返回string的头部;
    3、如果循环结束时进位值不为0,则在返回string头部添加一位。

    代码:

     1 class Solution {
     2 public:
     3     string addBinary(string a, string b) {
     4         int len_a = a.size();
     5         int len_b = b.size();
     6         int sig_flag = 0;
     7         string ret;
     8         
     9         while (len_a || len_b) {
    10             int curd = sig_flag;
    11             if (len_a) {
    12                 curd += a[len_a - 1] - '0';
    13                 len_a--;
    14             }
    15             
    16             if (len_b) {
    17                 curd += b[len_b - 1] - '0';
    18                 len_b--;
    19             }
    20             
    21             sig_flag = curd / 2;
    22             curd = curd % 2;
    23             ret.insert(0, 1, '0' + curd);
    24         }
    25         
    26         if (sig_flag)
    27           ret.insert(0, 1, '1');
    28           
    29         return ret;
    30     }
    31 };

    附录:

    string操作

    int char string

  • 相关阅读:
    Centos 7 安装shellcheck
    cunit环境搭建
    flex序列号和破解
    windows下python SSH-Client模块paramiko的安装与修改
    history优化设置
    shell配置和vim配置
    testlink 安装方法
    python解析GBK格式xml文件
    运用Loadrunner测试Mysql数据库性能 TRON•极客
    写python用到的一些大杀器
  • 原文地址:https://www.cnblogs.com/huxiao-tee/p/4141621.html
Copyright © 2020-2023  润新知