算法刷题-大数加法

描述

以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。

示例1

输入: "1","99" 复制 返回值: "100" 复制 说明: 1+99=100

示例2

输入: "114514","" 复制 返回值: "114514"

java 复制代码
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    public String solve (String s, String t) {
        // write code here
        int s1 = s.length()-1,s2 = t.length()-1,jin = 0;
        StringBuffer res = new StringBuffer();
        Stack stack = new Stack();
        while(s1 >= 0 || s2 >= 0 || jin !=0){
            jin += s1 >=0 ? s.charAt(s1--) - '0' : 0;
            jin += s2 >=0 ? t.charAt(s2--) - '0' : 0;
            stack.push(jin%10);
            jin /=10;
        }

        while(!stack.isEmpty()){
            res.append(stack.pop());
        }
        return res.toString();
    }
}
相关推荐
Dicky-_-zhang2 小时前
系统容量规划与压测实战:从1万到100万QPS的科学扩容
java·jvm
BirdenT2 小时前
20260519紫题训练
c++·算法
2601_958492557 小时前
Optimizing Engagement with Freehead Skate - HTML5 Game - Construct 3
前端·html·html5
csdn_aspnet7 小时前
C语言 Lomuto分区算法(Lomuto Partition Algorithm)
c语言·开发语言·算法
Dicky-_-zhang7 小时前
消息队列Kafka/RocketMQ选型与高可用架构:从单体到100万TPS的演进
java·jvm
晨曦中的暮雨7 小时前
4.15腾讯 CSIG云服务产线 一面
java·开发语言
fake_ss1987 小时前
AI时代学习全栈项目开发的新范式
java·人工智能·学习·架构·个人开发·学习方法
谙弆悕博士7 小时前
【附C源码】从零实现C语言堆数据结构:原理、实现与应用
c语言·数据结构·算法··数据结构与算法
茉莉玫瑰花茶8 小时前
工作流的常见模式 [ 1 ]
java·服务器·前端