67. 二进制求和

题目描述

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。   
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。

方法1

描述

考虑一个最朴素的方法:先将 ab 转化成十进制数,求和后再转化为二进制数。

代码

package easy.二进制求和67;

class Solution {
    /**
     * 最快的一种
     * @param a
     * @param b
     * @return
     */
    public String addBinary(String a, String b) {
        return Integer.toBinaryString(
                Integer.parseInt(a, 2) + Integer.parseInt(b, 2)
        );
    }
}

方法2 模拟

描述

先循环字符串最短的进行累加,然后多余的与进位累加即可

代码

package easy.二进制求和67;

class Solution {
    /**
     * 最快的一种
     * @param a
     * @param b
     * @return
     */
    public String addBinary(String a, String b) {
        return Integer.toBinaryString(
                Integer.parseInt(a, 2) + Integer.parseInt(b, 2)
        );
    }
}
posted @   loongnuts  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示