leetcode415. 字符串相加

一、题目描述

给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。

你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。

示例 1:

输入:num1 = "11", num2 = "123"

输出:"134"

示例 2:

输入:num1 = "456", num2 = "77"

输出:"533"

示例 3:

输入:num1 = "0", num2 = "0"

输出:"0"

提示:

1 <= num1.length, num2.length <= 104

num1 和num2 都只包含数字 0-9

num1 和num2 都不包含任何前导零

二、题目解析

1、双指针法

复制代码
class Solution {
    public String addStrings(String num1, String num2) {
        int i = num1.length() - 1,j = num2.length() - 1,carry = 0;
        StringBuilder builder = new StringBuilder();
        while(i >= 0 || j >= 0 || carry > 0){
            int temp1 = i >= 0 ? num1.charAt(i) - '0' : 0;
            int temp2 = j >= 0 ? num2.charAt(j) - '0' : 0;
            int num = (temp1 + temp2 + carry) % 10;
            carry = (temp1 + temp2 + carry) / 10;
            builder.append(num);
            i--;
            j--;
        }
        return builder.reverse().toString();
    }
}
相关推荐
西门吹-禅42 分钟前
java springboot N+1问题
java·开发语言·spring boot
DLYSB_1 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
weixin_BYSJ19871 小时前
SpringBoot + MySQL 乒乓球运动员信息管理系统项目实战--附源码04954
java·javascript·spring boot·python·django·flask·php
海石1 小时前
1563分的简单题,可能就简单在能被暴力AC
算法·leetcode
AI小码1 小时前
LLM 应用的缓存工程:当每次 API 调用都在燃烧成本
java·人工智能·spring·计算机·llm·编程·api
海石1 小时前
1400分的dp汗流浃背之【交替子数组计数】
算法·leetcode
Hui Baby2 小时前
Spring Security
java·后端·spring
IT笔记3 小时前
【Rust】Rust Match 模式匹配详解
java·开发语言·rust
我才是银古3 小时前
构建 Java GIS 工具库:从碎片化 API 到统一抽象的设计实践
java·gis·geotools·gdal·esri
TPBoreas3 小时前
配置信息防泄露方案:.env 环境隔离详解(dotenv-java)
java·开发语言