zoukankan      html  css  js  c++  java
  • leetcode------Add Binary

    标题: Add Binary
    通过率: 25.1%
    难度: 简单

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

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

    本题主要就是模拟二进制去处理,跟上次做到的那个plus one有点类似就是进位操作,但是本题是多位相加,刚开始做的时候我是以长度最短的为界限,后来发现非常麻烦,应该以长度长的作为界限,然后超过的位数去补0就行了,然后还有一个地方就是关于进位操作不用一个标志位去处理,利用一个整数,具体如何操作看代码即可:

     1 public class Solution {
     2     public String addBinary(String a, String b) {
     3         int lena=a.length();
     4         int lenb=b.length();
     5         int flag=0;
     6         String result="";
     7         int tmp=0;
     8         for(int i=0;i<Math.max(lena,lenb);i++){
     9             int p=0,q=0;
    10             if(i<lena)
    11                 p=a.charAt(lena-1-i)-'0';
    12             else 
    13                 p=0;
    14             if(i<lenb)
    15                 q=b.charAt(lenb-1-i)-'0';
    16             else 
    17                 q=0;
    18             tmp=p+q+flag;
    19             flag=tmp/2;
    20             tmp=tmp%2;
    21             //result+=tmp;
    22             result=String.valueOf(tmp)+result;
    23         }
    24         if(flag==0)return result;
    25         return "1"+result;
    26     }
    27 }
  • 相关阅读:
    BZOJ4346 : [POI2016]Nadajniki
    BZOJ4345 : [POI2016]Korale
    BZOJ4134 : ljw和lzr的hack比赛
    BZOJ4342 : CF348 Pilgrims
    BZOJ2310 : ParkII
    BZOJ3322 : [Scoi2013]摩托车交易
    BZOJ1444 : [Jsoi2009]有趣的游戏
    Xcode8中处理打印日志的配置
    iOS开发之记录用户登录状态
    热修复
  • 原文地址:https://www.cnblogs.com/pkuYang/p/4253587.html
Copyright © 2011-2022 走看看