leetcode[Add Strings]//待整理多种解法
来源:互联网 发布:mac口红dangerous 编辑:程序博客网 时间:2024/05/17 23:00
解法一:
public class Solution { public String addStrings(String num1, String num2) { StringBuilder res = new StringBuilder(); int i = num1.length() - 1; int j = num2.length() - 1; int digit = 0; int carry = 0; while(i >= 0 && j >= 0){ char c1 = num1.charAt(i); char c2 = num2.charAt(j); digit = (c1-'0' + c2 - '0' + carry) % 10; carry = (c1-'0' + c2 - '0' + carry) / 10; //System.out.println(digit + " " + carry); //res.append(digit + '0');不对,这里res.append是加一个字符串,比如digit=6,6+'0'=6+48=54 //我们需要将54转为char,否则加进去的就是"54"这个字符串 res.append((char)(digit + '0')); //System.out.println(res); i--; j--; } while(i >= 0){//不能用while(i != 0),因为在上面那个循环中i可能小于0(上面那个循环判断条件是i>=0) char c1 = num1.charAt(i); digit = (c1-'0' + carry) % 10; carry = (c1-'0' + carry) / 10; res.append((char)(digit + '0')); i--; } while(j >= 0){//不能用while(j != 0),因为在上面那个循环之后j可能小于0(上面那个循环判断条件是j>=0) char c2 = num2.charAt(j); digit = (c2-'0' + carry) % 10; carry = (c2-'0' + carry) / 10; res.append((char)(digit + '0')); j--; } //最后的进位还要处理 if(carry > 0){ res.append((char)(carry + '0')); } return res.reverse().toString(); }}
阅读全文
0 0
- leetcode[Add Strings]//待整理多种解法
- leetcode [Isomorphic Strings]//待整理多种解法
- leetcode[Add Digits]//待整理多种解法
- leetcode [Path Sum]//待整理多种解法
- leetcode [Majority Element]//待整理多种解法
- leetcode [Rotate Array]//待整理多种解法
- leetcode [Reverse Bits]//待整理多种解法
- leetcode [Happy Number]//待整理多种解法
- leetcode [Contains Duplicate]//待整理多种解法
- leetcode[Ugly Number]//待整理多种解法
- leetcode[Missing Number]//待整理多种解法
- leetcode[Word Pattern]//待整理多种解法
- leetcode[Ransom Note]//待整理多种解法
- leetcode[Longest Palindrome]//待整理多种解法
- leetcode[Fizz Buzz]//待整理多种解法
- leetcode[Hamming Distance]//待整理多种解法
- leetcode[Island Perimeter]//待整理多种解法
- leetcode[Number Complement]//待整理多种解法
- 挑战程序竞赛系列(24):3.5最大流与最小割
- WebSocket基础使用
- ubuntu安装Theano库与Tensorflow
- 零的数列 Zero Sum
- AS中报Gradle 3.3 requires Java 7 or later to run.You are currently using Java 6.解决办法
- leetcode[Add Strings]//待整理多种解法
- css学习笔记之line-height
- 计算一个整数二进制位中1的个数。要求效率尽可能的高。且能正确求正数和负数的二进制中1的个数。
- this的指向问题
- CSS选择器
- 对于webSocket的学习及原理了解
- HDU 1598 find the most comfortable road 贪心+并查集
- 排序算法之希尔排序
- 在Vmware中安装CentOS7