zoukankan      html  css  js  c++  java
  • 二进制求和(LintCode) .

    二进制求和

    给定两个二进制字符串,返回他们的和(用二进制表示)。

    样例

    a = 11

    b = 1

    返回 100

    细节出了好多问题,提交了好多次。。。

     1 public class Solution {
     2     /**
     3      * @param a a number
     4      * @param b a number
     5      * @return the result
     6      */
     7     public String addBinary(String a, String b) {
     8         int c = 0;
     9         int al = a.length() - 1;
    10         int bl = b.length() - 1;
    11         
    12         String s = "";
    13         for(;al >= 0 && bl >= 0;al--,bl--) {
    14             int ax = Integer.valueOf(a.substring(al,al + 1)).intValue();
    15             int bx = Integer.valueOf(b.substring(bl,bl + 1)).intValue();
    16             s = (ax + bx + c) % 2 + s;
    17             c = (ax + bx + c) / 2;
    18         }
    19         
    20         if(bl >= 0) {
    21             while(bl != -1) {
    22                 int x = Integer.valueOf(b.substring(bl,bl + 1)).intValue();
    23                 s = (c + x) % 2 + s;
    24                 c = (c + x) / 2;
    25                 bl--;
    26             }
    27         }
    28         
    29         if(al >= 0) {
    30             while(al != -1) {
    31                 int x = Integer.valueOf(a.substring(al,al + 1)).intValue();
    32                 s = (c + x) % 2 + s;
    33                 c = (c + x) / 2;
    34                 al--;
    35             }
    36         }
    37         
    38         if(c != 0) {
    39             s = c + s;
    40         }
    41         
    42         return s;
    43     }
    44 }
    View Code
  • 相关阅读:
    hdu2037 经典贪心入门
    hdu1045 dfs
    poj2243 bfs
    poj2488 dfs
    poj1111 DFS
    单词统计
    冲刺第五天
    七周总结学习笔记
    冲刺第四天
    冲刺第三天
  • 原文地址:https://www.cnblogs.com/FJH1994/p/5022059.html
Copyright © 2011-2022 走看看