与2个链表相加的题是一个思路
时间复杂度:O(n+m),n,m为两个字符串的长度,因为需要遍历两个字符串,所以时间复杂度为O(n+m);
空间复杂度:O(n),n为两个字符串中长的那个字符串的长度,需要使用额外的n空间来保存计算结果。
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
public String solve (String s, String t) {
Stack<Integer> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
int sLenIndex = s.length() - 1;
int tLenIndex = t.length() - 1;
int jinwei = 0;
while (sLenIndex >= 0 || tLenIndex >= 0 || jinwei != 0) {
if (sLenIndex >= 0) {
char a = s.charAt(sLenIndex);
String a1 = String.valueOf(a);
int a2 = Integer.parseInt(a1);
jinwei += a2;
sLenIndex--;
}
if (tLenIndex >= 0) {
char b = t.charAt(tLenIndex);
String b1 = String.valueOf(b);
int b2 = Integer.parseInt(b1);
jinwei += b2;
tLenIndex --;
}
stack.push(jinwei % 10);
jinwei = jinwei / 10;
}
while (!stack.isEmpty()) {
sb.append(stack.pop());
}
return sb.toString();
}
}


京公网安备 11010502036488号