严什么的烟 网站建设,做食品的网站设计要注意,南岸集团网站建设,网站注册信息查询题目 给你两个二进制字符串 a 和 b #xff0c;以二进制字符串的形式返回它们的和。 示例 示例 1#xff1a;输入:a 11, b 1
输出#xff1a;100
示例 2#xff1a;输入#xff1a;a 1010, b 1011
输出以二进制字符串的形式返回它们的和。 示例 示例 1输入:a 11, b 1
输出100
示例 2输入a 1010, b 1011
输出10101 解题思路 依次将两个二进制数末尾依次相加并计算进位。若长度不一致高位进行补零操作即加0。代码(Java) class Solution {public String addBinary(String a, String b) {StringBuilder ans new StringBuilder();int ca 0;for (int i a.length() - 1, j b.length() - 1; i 0 || j 0; i--, j--) {int sum ca;sum i 0 ? a.charAt(i) - 0 : 0;sum j 0 ? b.charAt(j) - 0 : 0;ans.append(sum % 2);ca sum / 2;}ans.append(ca 1 ? ca : );return ans.reverse().toString();}
}