力扣(LeetCode)415. 字符串相加
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
注意:
num1 和num2 的长度都小于 5100.
num1 和num2 都只包含数字 0-9.
num1 和num2 都不包含任何前导零。
你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。
java 基础版
class Solution {
public String addStrings(String num1, String num2) {
String res = "";
int s1c = num1.length();
int s2c = num2.length();
if(s1c>=s2c) {
int diff = s1c-s2c;
String temp = "";
for(int i=0;i<diff;i++) {
temp += "0";
}
num2 = temp+num2;
char[] cs1 = num1.toCharArray();
char[] cs2 = num2.toCharArray();
int flag=0;
for(int i = cs1.length-1;i>=0;i--) {
System.out.println((cs1[i]-48+cs2[i]-48+flag));
if(flag+cs1[i]-48+cs2[i]-48>=10) {
res = (flag+cs1[i]-48+cs2[i]-48-10) + res;
flag=1;
}else {
res = (flag+cs1[i]-48+cs2[i]-48) + res;
flag=0;
}
}
if(flag == 1 ) {
res = 1+res;
}
}else {
int diff = s2c-s1c;
String temp = "";
for(int i=0;i<diff;i++) {
temp += "0";
}
num1 = temp+num1;
char[] cs1 = num1.toCharArray();
char[] cs2 = num2.toCharArray();
int flag=0;
for(int i = cs1.length-1;i>=0;i--) {
System.out.println((cs1[i]-48+cs2[i]-48+flag));
if(flag+cs1[i]-48+cs2[i]-48>=10) {
res = (flag+cs1[i]-48+cs2[i]-48-10) + res;
flag=1;
}else {
res = (flag+cs1[i]-48+cs2[i]-48) + res;
flag=0;
}
}
if(flag == 1 ) {
res = 1+res;
}
}
return res;
}
}
java 升级版
字符串加法、链表加法、二进制加法 都可以如此做
class Solution {
public String addStrings(String num1, String num2) {
StringBuilder build = new StringBuilder();
int s1c = num1.length()-1;
int s2c = num2.length()-1;
int carry = 0; //进位
while(s1c>=0 || s2c>=0 || carry !=0) {
if(s1c>=0) {
carry += num1.charAt(s1c--)-'0';
}
if(s2c>=0) {
carry += num2.charAt(s2c--)-'0';
}
build.append(carry%10); //各位数字
carry /=10; // 进位数字
}
return build.reverse().toString();
}
}
运行结果

力扣(LeetCode)415. 字符串相加的更多相关文章
- Java实现 LeetCode 415 字符串相加
415. 字符串相加 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注意: num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num ...
- [LeetCode]415. 字符串相加、43. 字符串相乘
题目 415. 字符串相加 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 题解 维护一个temp表示当前两数相加+上一个进位的和. 每次更新结果的一位. 注意终止条件. 最后将 ...
- 力扣Leetcode 179. 最大数 EOJ 和你在一起 字符串拼接 组成最大数
最大数 力扣 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数. 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说 ...
- LeetCode:字符串相加【415】
LeetCode:字符串相加[415] 题目描述 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注意: num1 和num2 的长度都小于 5100.num1 和num2 都只 ...
- 力扣Leetcode 45. 跳跃游戏 II - 贪心思想
这题是 55.跳跃游戏的升级版 力扣Leetcode 55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃 ...
- 刷题-力扣-541. 反转字符串 II
541. 反转字符串 II 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-string-ii 著作权归领扣网络所有. ...
- 【力扣leetcode】-787. K站中转内最便宜的航班
题目描述: 有 n 个城市通过一些航班连接.给你一个数组 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始,以价格 p ...
- 力扣Leetcode 面试题56 - I. 数组中数字出现的次数
面试题56 - I. 数组中数字出现的次数 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 示例 ...
- 领扣(LeetCode)字符串相加 个人题解
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注意: num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num2 都不包 ...
随机推荐
- mean shift 图像分割(一、二、三)
https://blog.csdn.net/u011511601/article/details/72843247 MeanShift图像分割算法:大概是将复杂的背景,通过粗化提取整体信息,进而将图像 ...
- Golang框架beego电影网爬虫小试牛刀
学习了一段时间golang,又参考课程学习了beego开发网站爬虫,项目的目录结构是: 采集的目标是豆瓣网电影,入口地址是:https://movie.douban.com/subject/19008 ...
- Golang闭包案例分析与普通函数对比
闭包案例 package main import ( "fmt" "strings" //记住一定引入strings包 ) //①编写一个函数makeSuffi ...
- oracle 12c多租户下的日常操作变化
Oracle 12c创建用户时出现“ORA-65096: invalid common user or role name”的错误 在oracle中,引入了多租户概念,以前是一个instance对应一 ...
- vs2015 dx15开发教程一
- 实现 AD 采样,使用 LCD1602 显示 AD 数值
实现 AD 采样,使用 LCD1602 显示 AD 数值 写在前面 单片机内集成的A/D转换,一般都有相应的特殊功能寄存器来设置A/D的使能标志,参考电压,转换频率,通道选择,A/D输入口的属性(模拟 ...
- rman备份例子
1.全备份例子 #!/bin/sh RMAN_OUTPUT_LOG=/home/oracle/rman_output.logRMAN_ERROR_LOG=/home/oracle/rman_error ...
- kali meterpreter中mimikatz模块获取密码
kali这方面不说了, meterpreter也略过, 做个关于mimikatz的笔记. mimikatz模块, 能获取对方机器的密码(包括哈希和明文). 渗透模块怎么进的也不说了, 方式太多, 我用 ...
- kali安装搜狗输入法
安装步骤 依赖1: apt-get install fcitx 依赖2: apt-get install fcitx-libs-qt 重建: apt-get --fix-broken install ...
- webpack --watch和supervisor的不同
webpack --watch只是热打包,也就是前端代码的热加载,要实现后端代码的热加载,也就是热部署,需要使用supervisor 如何使用热部署可以参考这里:http://www.cnblogs ...