LeetCode——Add Binary

LeetCode——Add Binary

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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

For example,
a = "11"
b = "1"

Return "100".

求数字字符串的二进制和。

同之前的数组代表数字,两个数组相加一样。仅仅只是进位变成了2.可能两个串的长度不一样,故逆转。从左到右加下去。最后再逆转。

	public static String addBinary(String a, String b) {
		StringBuilder ar = new StringBuilder(a).reverse();
		StringBuilder br = new StringBuilder(b).reverse();
		StringBuilder result = new StringBuilder();
		int len = Math.max(a.length(), b.length());
		int carry = 0;//进位
		for (int i = 0; i < len; i++) {
			int t1 = (i >= a.length() ? 0 : (ar.charAt(i) - '0'));
			int t2 = (i >= b.length() ? 0 : (br.charAt(i) - '0'));
			int t3 = t1 + t2 + carry;
			carry = t3 / 2;
			t3 = t3 % 2;
			result.append(t3);
		}
		if (carry != 0)
			result.append(carry);
		result.reverse();
		return result.toString();
	}

版权声明:本文博客原创文章。博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117531.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 思科CDP/LLDP协议

    思科CDP/LLDP协议CDP协议思科发现协议CDP是思科设备用来获取相邻设备的协议地址以及发现这些设备的平台。CDP也可为路由器的使用提供相关接口信息。CDP是一种独立媒体协议,运行在所有思科本身制造的设备上,包括路由器、网桥、接入服务器和交换机。需要注意的是,CDP是工作在Layer2的协议,默认情况下,每60秒以01-00-0c-cc-cc-cc为目的地址发送一次组播通告,当达到180秒的holdtime上限后仍未获得邻居设备的通告时,将清除邻居设备信息。LLDP协议•LLDP(LLDP,Link

    2022年6月2日
    84
  • 删除office2016专业版多余组件

    删除office2016专业版多余组件一、首先打开控制面板,选择卸载程序,选中office2016专业版,如图所示,右击选择“更改”进入如下的图片,选择添加或删除功能选择要删除或卸载的组件,点击选择“不可用”;然后就会出现如图所示的图片最后关闭即可…

    2022年7月19日
    45
  • 动态规划经典题目_leetcode合并两个有序数组

    动态规划经典题目_leetcode合并两个有序数组一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向下 -> 向下向下 -> 向下 -> 向右向下 -> 向右 -&gt

    2022年8月8日
    4
  • flowable流程详解

    flowable流程详解flowable图例解释请假流程bpmn20.xml文件请假流程示例图例解释开始事件:图中用细线圆圈来表示,是流程实例的开始点箭头:表示节点之间的流转指向。用户任务:在图中用左上角有人的圆角矩形表示,这些是需要用户来操作的节点。图中有两个,第一个表示需要经理进行审批来同意或拒绝,第二个表示用户来确认销假。排它网关:用叉形符号填充的菱形表示,从该图中出来的箭头往往有多个,但只有一个满足条件,流程会沿着满足条件的方向流转。自动化任务:左上角有齿轮形状的的圆角矩形,表示自动执行的节点。图中

    2022年5月11日
    316
  • java线程池springboot_springboot线程池的使用和扩展(转)「建议收藏」

    java线程池springboot_springboot线程池的使用和扩展(转)「建议收藏」实战环境windowns10;jdk1.8;springboot1.5.9.RELEASE;开发工具:IntelliJIDEA;实战源码本次实战的源码可以在我的GitHub下载,地址:git@github.com:zq2599/blog_demos.git,项目主页:https://github.com/zq2599/blog_demos这里面有多个工程,本次用到的工程为threadpoold…

    2022年6月17日
    85
  • Android面试题总结【完整详细版本”一”】(含答案)

    Android面试题总结【完整详细版本”一”】(含答案)1、四大组件是什么?Activity【活动】:用于表现功能。 Service【服务】:后台运行服务,不提供界面呈现。 BroadcastReceiver【广播接收器】:用来接收广播。 ContentProvider【内容提供商】:支持在多个应用中存储和读取数据,相当于数据库。2、四个组件的生命周期?Activity生命周期图及Fragment生命周期图…

    2022年5月11日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号