leetcode -- 67. Add Binary【统一形式简化代码+双指针 + 二进制规则 + 字符数字转换】
来源:互联网 发布:软件测试的原理 编辑:程序博客网 时间:2024/06/04 19:16
题目
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
题意:
给定两个二进制字符串,然后返回他们的和(也为字符串形式)。
分析及解答
- 【统一形式】非常重要的技巧,经过这种统一处理,使得代码处理更简洁。
- 双指针(两个指针分别指向两个字符串)
- 字符,数字转换
public class Solution {public String addBinary(String a, String b) { char[] A = a.toCharArray(); char[] B = b.toCharArray(); StringBuilder sb = new StringBuilder(); int highA = a.length() -1; int highB = b.length() -1; int pre = 0; int numberA = 0; int numberB = 0; int bitResult = 0; //关键代码: 统一形式处理。 while(highA >= 0 || highB >= 0 || pre >0){ numberA = highA >=0 ? (A[highA] - '0'):0; //统一形式 numberB = highB >= 0 ? (B[highB] - '0'):0; highA --; highB --; bitResult = numberA + numberB + pre; if(bitResult == 0){ sb.append('0'); pre = 0; }else if(bitResult == 1){ sb.append('1'); pre = 0; }else if(bitResult == 2){ sb.append('0'); pre = 1; }else{ sb.append('1'); pre = 1; } } return sb.reverse().toString(); }}
阅读全文
0 0
- leetcode -- 67. Add Binary【统一形式简化代码+双指针 + 二进制规则 + 字符数字转换】
- LeetCode 67. Add Binary(二进制加)
- leetcode 67. Add Binary 二进制相加
- leetcode-67. Add Binary(二进制串求和)
- Add Binary 二进制相加 @LeetCode
- Leetcode:Add Binary 二进制相加
- LeetCode Add Binary(二进制加法)
- (LeetCode)Add Binary --- 二进制求和
- leetcode Add Binary 二进制加法
- leetCode 67.Add Binary (二进制加法) 解题思路和方法
- Leetcode 67. Add Binary 二进制加法 解题报告
- LeetCode Add Binary 高精度二进制加法
- LeetCode | Add Binary(二进制相加)
- LeetCode-67 Add Binary(二进制数相加)
- 二进制字符串求和-leetcode Add Binary
- leetcode 67---Add Binary 二进制 进位 String
- LeetCode-67-Add Binary(二进制相加)
- 二进制加法的实现(字符串形式) Add Binary
- SSM框架下利用AJAX传递数据到Controller的一些方式
- 图像的遍历
- Java服务端过滤敏感词的思路
- Glusterfs学习笔记
- POJ2186-Popular Cows
- leetcode -- 67. Add Binary【统一形式简化代码+双指针 + 二进制规则 + 字符数字转换】
- 【二分图】poj 3041 Asteroids
- Unity3D学习记录——飞盘射击游戏2
- java-代码块、静态代码块、构造代码块
- CSS label textarea 垂直对齐
- Vue.js:轻量高效的前端组件化方案
- poj 1183 反正切函数的应用
- 关注民生民情——华北水利水电大学“情艺”国情社情调查
- USACO1.3.4牛式