• leetcode : Add Bianry 基本功 字符转整数


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

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

    tag: 字符asc码 。字符和数字加减法 。 '1' - '0' = 1 .  '1' - 0 != 0

    public class Solution {
        public String addBinary(String a, String b) {
            StringBuilder result = new StringBuilder();
            if(a == null && b == null) {
                return result.toString();
            }
            if(a == null) {
                return b;
            }
            if(b == null) {
                return a;
            }
            int aIndex = a.length() - 1;
            int bIndex = b.length() - 1;
            int carry = 0;
            
            while(aIndex >= 0 && bIndex >= 0) {
                int sum = (int)((a.charAt(aIndex) - '0') + (b.charAt(bIndex) - '0') + carry ) % 2;
                carry = (int)((a.charAt(aIndex) - '0') + (b.charAt(bIndex) - '0') + carry ) / 2;
                result.append(sum);
                aIndex--;
                bIndex--;
            }
            
            while(aIndex >= 0){
                int sum = (int)((a.charAt(aIndex) - '0') + carry ) % 2;
                carry = (int)((a.charAt(aIndex) - '0') + carry) / 2;
                result.append(sum);
                aIndex--;
            }
            
             while(bIndex >= 0){
                int sum = (int)((b.charAt(bIndex) - '0') + carry ) % 2;
                carry = (int)((b.charAt(bIndex) - '0') + carry) / 2;
                result.append(sum);
                bIndex--;
            }
            
            if(carry == 1) {
                result.append("1");
            } 
            
            return result.reverse().toString();
            
            
        }
    }
    

      

  • 相关阅读:
    Java学习笔记二.2
    Java学习笔记二.1
    Java学习笔记一
    cookie和session笔记
    编码知识笔记
    新手前端笔记之--css盒子
    新手前端笔记之--初识css
    新手前端笔记之--必备的标签
    新手前端笔记之--初识html标签
    二叉树总结
  • 原文地址:https://www.cnblogs.com/superzhaochao/p/6480609.html
Copyright © 2020-2023  润新知