【每日一題】【連結串列&頭插法&ASCII碼】【連結串列&迭代器】2022年1月28日-NC1 大數加法
阿新 • • 發佈:2022-01-28
描述
以字串的形式讀入兩個數字,編寫一個函式計算它們的和,以字串形式返回。
思路:原生連結串列&頭插法節點值
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); } }
本文來自部落格園,作者:哥們要飛,轉載請註明原文連結:https://www.cnblogs.com/liujinhui/p/15852078.html