【每日一题】【链表&头插法&ASCII码】【链表&迭代器】2022年1月28日-NC1 大数加法

2023-02-14,,,,

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

思路:原生链表&头插法节点值

import java.util.*;

public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
public String solve (String s, String t) {
//尝试链表+头插法
LinkedList<Integer> head = new LinkedList<>();
char[] arrS = s.toCharArray();
char[] arrT = t.toCharArray();
int lenS = arrS.length;
int lenT = arrT.length;
int leave = 0;
while(lenS-- > 0 && lenT-- > 0) {
//char如何转为真正的int-'0'
int num = leave + Integer.valueOf(arrS[lenS] - '0') + Integer.valueOf(arrT[lenT] - '0');
head.addFirst(num % 10);
leave = num / 10;
}
while(lenS-- > 0) {
int num = leave + Integer.valueOf(arrS[lenS] - '0');
head.addFirst(num % 10);
leave = num / 10;
}
while(lenT-- > 0) {
int num = leave + Integer.valueOf(arrT[lenT] - '0');
head.addFirst(num % 10);
leave = num / 10;
}
if (leave > 0) {
head.addFirst(leave);
}
StringBuilder sb = new StringBuilder();
Iterator iter = head.iterator();
while(iter.hasNext()) {
sb.append(iter.next());
}
return new String(sb);
}
}

每日一题】【链表&头插法&ASCII码】【链表&迭代器】2022年1月28日-NC1 大数加法的相关教程结束。

《【每日一题】【链表&头插法&ASCII码】【链表&迭代器】2022年1月28日-NC1 大数加法.doc》

下载本文的Word格式文档,以方便收藏与打印。