String - 67. Add Binary
时间:2022-07-25
本文章向大家介绍String - 67. Add Binary,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
- Add Binary
Given two binary strings, return their sum (also a binary string).
The input strings are both non-empty and contains only characters 1
or 0
.
Example 1:
Input: a = "11", b = "1"
Output: "100"
Example 2:
input: a = "1010", b = "1011"
Output: "10101"
思路:
题目是意思是实现二进制加法,给定两个二进制字符串,实现加法,做法就是用两个指针,从后往前遍历,把每一位加起来,满二进一。
代码:
go:
func addBinary(a string, b string) string {
var (
ap = len(a) - 1
bp = len(b) - 1
res = make([]byte, max(bp, ap) + 2)
rp = len(res) - 1
)
for ap >= 0 || bp >= 0 {
if ap >= 0 {
res[rp] += (a[ap] - '0')
if res[rp] > 1 {
res[rp-1] = 1
res[rp] = 0
}
ap--
}
if bp >= 0 {
res[rp] += (b[bp] - '0')
if res[rp] > 1 {
res[rp-1] = 1
res[rp] = 0
}
bp--
}
res[rp] += '0'
rp--
}
// index 0 add '0'
res[rp] += '0'
if len(res) == 0 {
return ""
}
if res[0] == '0' {
res = res[1:]
}
return string(res)
}
func max(i, j int) int {
if i > j {
return i
}
return j
}
- 基于Ryu打造自定义控制器
- Junit 5新特性全集
- 深入了解浏览器的重绘与重排
- 自己动手写区块链(Java版)
- 自己动手写区块链-发起一笔交易(Java版)
- 详解JavaScript跨域问题
- OpenStack Magnum及Liberty新功能简介
- JDK10要来了:下一代 Java 有哪些新特性?
- 是时候忘掉finalize方法了
- 学会一个JVM插件:使用HSDIS反汇编JIT生成的代码
- ONOS 实战分享(一):项目建立、调试到热部署
- 自己动手系列-延迟队列
- OVS中Action源码分析&自定义Action
- 读懂一行Full GC日志(回复JVM内存分配担保机制一文中 Mr/Mrs Xxx 在留言区提出的问题)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解android 通过uri获取bitmap图片并压缩
- android线程消息机制之Handler详解
- 分布式一致性协议 - ZAB
- 删除链表的倒数第N个节点
- Open3d学习计划—高级篇 2(彩色点云配准)
- Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法
- 有效的括号
- Android PopupWindow实现左侧弹窗效果
- LeetCode. 209. 长度最小的子数组
- 一篇文章就能了解Rxjava
- 二叉树遍历非递归程序 -- 使用栈模拟系统栈
- Android开发之多媒体文件获取工具类实例【音频,视频,图片等】
- 二叉树及leetcode练习题
- 利用递归函数的返回值
- Android DataBinding的官方双向绑定示例