1. 程式人生 > >【leetcode】67.(Easy)Add Binary

【leetcode】67.(Easy)Add Binary

提交程式碼:

class Solution {
    public String addBinary(String a, String b) {
    	int numA,numB,carry=0;
    	int p1=a.length()-1,p2=b.length()-1;
    	List<Character> tmp=new ArrayList<Character>();
    	
    	while(p1>=0&&p2>=0) {
    		numA=a.charAt(p1)-'0';
    		numB=
b.charAt(p2)-'0'; if(numA+numB+carry==0) { tmp.add('0'); carry=0; }else if(numA+numB+carry==1) { tmp.add('1'); carry=0; }else if(numA+numB+carry==2){ tmp.add('0'); carry=1; }else { tmp.add('1'); carry=1; } p1--;p2--
; } while(p1>=0) { numA=a.charAt(p1)-'0'; if(numA+carry==0) { tmp.add('0'); carry=0; }else if(numA+carry==1) { tmp.add('1'); carry=0; }else { tmp.add('0'); carry=1; } p1--; } while(p2>=0) { numB=
b.charAt(p2)-'0'; if(numB+carry==0) { tmp.add('0'); carry=0; }else if(numB+carry==1) { tmp.add('1'); carry=0; }else { tmp.add('0'); carry=1; } p2--; } if(carry==1) tmp.add('1'); String ans=""; for(int i=tmp.size()-1;i>=0;i--) ans+=tmp.get(i); return ans; } }

執行結果:

在這裡插入圖片描述