• [leetcode]Add Binary


    问题描写叙述:


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

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


    思路: 採用二进制加法的思路;


    代码:

    public class AddBinary {  //java
    	 public String addBinary(String a, String b) {
    		 if(a == null || a.trim().isEmpty())
    			 return b.trim();
    		 if(b == null || b.trim().isEmpty())
    			 return a.trim();
    		 
    		 String result = "";
    		 
    		 int carry = 0;
    		 int alen = a.length();
    		 int blen = b.length();
    		 
    		 int maxLen = Math.max(alen, blen);
    		 for(int i = 0; i< maxLen; i++){
    			 int tmpa = ((i<alen)?a.charAt(alen-1-i)-'0':0);
    			 int tmpb = ((i<blen)?b.charAt(blen-1-i)-'0':0);
    			 int sum = tmpa+tmpb+carry;
    			 
    			 if(sum >=2){
    				 result = (sum%2) + result;
    				 carry = 1;
    			 }
    			 else {
    				 result = sum + result;
    				 carry = 0;
    			 }
    		 }
    		 
    		
    		 if(carry == 1)
    			 result = "1"+result;
    		 return result;
    	 }
    	 
    	 public static void main(String [] args){
    		 AddBinary ab = new AddBinary();
    		 System.out.println(ab.addBinary("11", "1"));
    	 }
    }
    


  • 相关阅读:
    决定迁移过来,深耕于此。。。
    一篇搞定MongoDB
    一篇搞定vue请求和跨域
    自定义全局组件
    一篇搞定vue-router
    一篇搞定Vuex
    vue系列
    .Vue.js大全
    一篇搞定spring Jpa操作数据库
    自定义admin
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6726252.html
Copyright © 2020-2023  润新知