二进制求和-LintCode
来源:互联网 发布:java枚举类型enum 编辑:程序博客网 时间:2024/05/20 12:46
给定两个二进制字符串,返回他们的和(用二进制表示)。
样例:
a = 11
b = 1
返回 100
#ifndef C408_H#define C408_H#include<iostream>#include<string>using namespace std;class Solution {public: /* * @param a: a number * @param b: a number * @return: the result */ string addBinary(string &a, string &b) { // write your code here int a_size = a.size(); int b_size = b.size(); if (a_size < b_size) { int diff = b_size - a_size; while (diff != 0) { a = "0" + a; diff--; } } else { int diff = a_size - b_size; while (diff != 0) { b = "0" + b; diff--; } } int len = a.size(); int flag = 0; for (int i = len - 1; i >= 0; --i) { if (flag == 0) { if (a[i] == '1'&&b[i] == '1') { a[i] = '0'; flag = 1; } else if (a[i] == '0'&&b[i] == '0') { a[i] = '0'; flag = 0; } else { a[i] = '1'; flag = 0; } } else { if (a[i] == '1'&&b[i] == '1') { a[i] = '1'; flag = 1; } else if (a[i] == '0'&&b[i] == '0') { a[i] = '1'; flag = 0; } else { a[i] = '0'; flag = 1; } } if (i == 0 && flag == 1) a = "1" + a; } return a; }};#endif
阅读全文
0 0
- LintCode-二进制求和
- LIntCode-二进制求和
- 二进制求和(LintCode)
- lintcode ----二进制求和
- LintCode之二进制求和
- Lintcode 408 二进制求和
- LintCode【容易】二进制求和
- 二进制求和,lintcode
- LintCode | 408. 二进制求和
- LintCode 二进制求和
- lintcode --二进制求和
- Lintcode二进制求和
- 二进制求和-LintCode
- LintCode Add Binary 二进制求和
- lintcode add-binary 二进制求和
- LintCode(容易)二进制求和
- lintCode(408)——二进制求和
- LintCode(容易)二进制求和遇到的bug
- mysql索引优化
- Virtualbox 安装gost xp
- linux 下编译安装php mongodb扩展
- HDU-4825 Xor Sum (Trie 字典树 2014年百度之星程序设计大赛-资格赛)
- 如何在ubuntu下安装sublime text 2…
- 二进制求和-LintCode
- Javascript 返回上一页
- CSDN-markdown编辑器语法备忘
- git
- dhtmlxGantt (jquery甘特图)用法
- 失去鼠标焦点触发
- yformater
- 修改Yii默认跳转的登录页面地址
- HDU 1181 变形课