leetcode 415. 字符串相加(Java版)
题目
https://leetcode-cn.com/problems/add-strings/
题解
代码
/*** 给定两个字符串形式的非负整数 num1 和 num2 ,计算它们的和。*/
public class Solution {public static String addStrings(String num1, String num2) {char[] c1 = num1.toCharArray();char[] c2 = num2.toCharArray();if (c1.length >= c2.length) { // 假设 c2 位数多。否则交换 c1 c2 从而使其符合假设。c1 = num2.toCharArray();c2 = num1.toCharArray();}int maxLen = c2.length;int[] c3 = new int[maxLen + 1];int[] c1_copy = new int[maxLen + 1];int[] c2_copy = new int[maxLen + 1];for (int i = 0; i < c1.length; i++) { // 将 c1_copy 填充至与 c3 相同长度c1_copy[maxLen - i] = c1[c1.length - i - 1] - '0';}for (int i = 0; i < c2.length; i++) { // 将 c2_copy 填充至与 c3 相同长度c2_copy[maxLen - i] = c2[c2.length - i - 1] - '0';}int carry = 0;for (int i = maxLen; i >= 0; i--) { // 逐位相加int sum = c1_copy[i] + c2_copy[i] + carry;if (sum >= 10) {c3[i] = sum - 10;carry = 1;} else {c3[i] = sum;carry = 0;}}StringBuilder sb = new StringBuilder();for (int i = 0; i <= maxLen; i++) {if (i != 0 || c3[i] != 0) sb.append(c3[i]);}return sb.toString();}public static void main(String[] args) {System.out.println(addStrings("11", "123"));}
}
leetcode 415. 字符串相加(Java版)相关推荐
- LeetCode 415. 字符串相加 (逢十进一模版字符处理)
415. 字符串相加 题意: 用两个字符串表示两个数 求出其相加的结果 不能使用任何内建 BigInteger 库 不能直接将输入的字符串转换为整数形式 思路: 翻转字符串,将其转为字符数组,即从下标 ...
- leetcode -43 -字符串相乘 -java版
文章目录 题目 代码 题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = &quo ...
- Leetcode 415. 字符串相加
难度:简单 频率:119 题目: 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回. 你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也 ...
- LeetCode 415. 字符串相加(大数加法)
1. 题目 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注意:num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num ...
- LeetCode 415.字符串相加
题目描述 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注意: num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num ...
- Leetcode 415. 字符串相加 (每日一题 20210826 同类型题)
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和.提示:num1 和num2 的长度都小于 5100 num1 和num2 都只包含数字 0-9 num1 和num2 都不包含任何前 ...
- 2022-3-31 Leetcode 415.字符串相加
最终版,难度不大,魔鬼细节 class Solution {public:string addStrings(string num1, string num2) {reverse(num1.begin ...
- 【LeetCode笔记】415. 字符串相加(Java、字符串)
题目描述 不能直接把字符串转换成整数(会溢出) 面试被问过,今天刷面经又刷到..那就索性水一篇文吧! 更新:原题就是 leetcode 415 思路 & 代码 只要理好字符串s.字符串t.答案 ...
- leetcode刷题——415. 字符串相加
题目描述 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 提示: num1 和num2 的长度都小于 5100 num1 和num2 都只包含数字 0-9 num1 和num2 ...
最新文章
- nginx+tomcat,http强制跳转https后的error_page配置!【原创】
- linux下多路复用模型之Select模型
- linux 以太网转wifi,LINUX-网络 - (以太网和WIFI无线)
- 面试了3个 85前 的嵌入式软件工程师
- 【技巧】搜狗输入法特殊技巧
- docker 日志_解决docker容器日志导致主机磁盘空间满了的情况
- 【转载】MySQL -- SET NAMES utf8
- Java常见面试题之HashSet如何检查重复
- seaborn使用boxplot函数可视化箱图并基于分组均值或者中位数进行箱图升序(ascending)排序(Sort Boxplots in Ascending Order with Python)
- java查询城市区号_城市查区号示例代码
- li标签中,img居中显示
- 联想怎么进入linux界面,联想(Lenovo)为何重返Linux桌面?
- 如何防范动态调试(Anti-Debug)(SoftICE篇)
- 基于51单片机的秒表设计
- 高新技术企业认定中科技成果转化数量的认定
- 设置美团用户cookie实现用户登录
- linux Ubuntu 安装的搜狗双拼输入法只有五笔解决办法附安装教程
- Android APP跳转微信小程序和APP跳转支付宝小程序传参
- FTP连接时出现“227 Entering Passive Mode” 的解决方法
- matlab 多子图共x轴
热门文章
- POJ - 3700 Missile Defence System.(dfs+最优性剪枝)
- 鸿蒙系统发红包,鸿蒙修真录红包版
- Uva536 Tree Recovery二叉树重建(先序和中序确定二叉树,后序输出)
- php serialize mysql_php 序列化(serialize)格式详解
- 椭圆中心到椭圆切线的距离
- SPOJ3273(Treap)
- 数塔问题和最长上升子序列问题
- UDT协议实现分析——UDT初始化和销毁
- Chromium Android开发的Eclipse配置
- MySQL 中存储时间的最佳实践