算法刷题-大数加法

描述

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

示例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();
    }
}
相关推荐
cpp_25011 小时前
P1024 [NOIP 2001 提高组] 一元三次方程求解
数据结构·c++·算法·题解·二分答案·洛谷·csp
半瓶榴莲奶^_^2 小时前
jvm java虚拟机
java·jvm
布局呆星2 小时前
Vue Router :基础使用与嵌套路由实战
前端·javascript·vue.js
田梓燊8 小时前
力扣:23.合并 K 个升序链表
算法·leetcode·链表
小码哥_常8 小时前
安卓开发秘籍:解锁10大性能优化秘诀
前端
invicinble8 小时前
这里对java的知识体系做一个全域的介绍
java·开发语言·python
wbs_scy8 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·开发语言
re林檎8 小时前
算法札记——4.27
算法
ss2738 小时前
食谱推荐系统功能测试如何写?
java·数据库·spring boot·功能测试
AI人工智能+电脑小能手9 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法