leetcode_67 add binary

原创 2016年05月30日 10:56:48

string addBinary(string a, string b){
	if(a=="0" || a.empty())
		return b;
	if(b=="0" || b.empty())
		return a;
	
	int indexa = a.size()-1;
	int indexb = b.size()-1;
	
	string result;	
	int aa,bb, rem,carry ;
	aa=bb=rem=carry = 0;
	
//	while(indexa>=0 || indexb >=0){
//		aa= indexa<0 ? 0 : a[indexa]-'0';  //转换成数字 
//		bb = indexb<0? 0 : b[indexb]-'0';
//		rem = (aa+bb+carry)%2;
//		carry = (aa+bb+carry)/2;
//		
//		//rem = rem+'0';          //转换成字符 
//		//rem += rem;
//		result.insert(result.begin(),rem+'0');    //每次插入到string的首部,就不用翻转了 
//		
//		indexa--;
//		indexb--;
//	}
    for(;indexa>=0||indexb>=0; indexa--,indexb--){
    	aa= indexa<0 ? 0 : a[indexa]-'0';           //转换成数字 
		bb = indexb<0? 0 : b[indexb]-'0';
		rem = (aa+bb+carry)%2;
		carry = (aa+bb+carry)/2;
		result.insert(result.begin(),rem+'0');  
	} 
	
	if(carry==1)
		result.insert(result.begin(),'1');
	
	cout << result << endl;
//	strrev((char*)result.c_str());
//	reverse(result.begin(),result.end());
	return result;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

67. Add Binary [easy] (Python)

题目链接 https://leetcode.com/problems/add-binary/ 题目原文 题目翻译 思路方法 思路一 代码 说明 思路...
  • coder_orz
  • coder_orz
  • 2016年06月18日 17:29
  • 2908

LeetCode 67 : Add Binary (Java)

解题思路:从末尾依次对应相加来求,转成int中的相加会使代码比较简洁,因为可以用/和%来分别求出进位和当前往结果中添加的位。然后,把较长的字符串剩下的部分和进位相加放入结果。最后,还要判断进位此时是否...
  • changetocs
  • changetocs
  • 2015年12月03日 21:08
  • 658

[C++]LeetCode: 9 Add Binary

题目: Given two binary strings, return their sum (also a binary string). For example, a = "11...
  • cinderella_niu
  • cinderella_niu
  • 2014年11月06日 21:36
  • 950

leetcode Add Binary python 题解

leetcode add binary python 题解
  • xiaolewennofollow
  • xiaolewennofollow
  • 2015年04月24日 21:07
  • 834

【leetcode】67. Add Binary(Python & C++)

67. Add Binary题目链接67.1 题目描述:Given two binary strings, return their sum (also a binary string).For ex...
  • liuxiao214
  • liuxiao214
  • 2017年09月04日 20:18
  • 195

[leetcode-67]Add Binary(C)

问题描述: Given two binary strings, return their sum (also a binary string).For example, a = “11” b =...
  • zdavb
  • zdavb
  • 2015年08月02日 22:41
  • 241

[leetcode](Add Binary C语言实现)

Add Binary Given two binary strings, return their sum (also a binary string).For example, a = “11”...
  • sanmao0816
  • sanmao0816
  • 2015年04月21日 12:55
  • 743

Add Binary | leetcode 67 【Java解题报告】

Given two binary strings, return their sum (also a binary string). For example, a = "11" b = "1" Re...
  • happyaaaaaaaaaaa
  • happyaaaaaaaaaaa
  • 2015年10月04日 14:23
  • 1811

LeetCode(67) Add Binary

题目Given two binary strings, return their sum (also a binary string).For example, a = “11” b = “1” ...
  • fly_yr
  • fly_yr
  • 2015年08月19日 20:58
  • 1844

LeetCode 67 — Add Binary(C++ Java Python)

题目:http://oj.leetcode.com/problems/add-binary/ Given two binary strings, return their sum (also a bi...
  • dragon_dream
  • dragon_dream
  • 2014年02月26日 21:18
  • 2405
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode_67 add binary
举报原因:
原因补充:

(最多只允许输入30个字)