大数相加

思想

  1. 从字符串最后一位对应求和
  2. 对所求的和整除10,得到进位位的值temp
  3. 对所求的和取余10,得到该位的值
  4. 如果某一字符串已读取完毕,则默认赋值为0
  5. 答案由每位计算出来的值插入到字符串首位得到

代码实现

    private static StringBuilder add(String a, String b) {
        StringBuilder ans = new StringBuilder();
        int lena = a.length() - 1;
        int lenb = b.length() - 1;
        int temp = 0;
        while (lena >= 0 || lenb >= 0 || temp != 0){
            int num1 = lena >= 0 ? a.charAt(lena) - '0' : 0;
            int num2 = lenb >= 0 ? b.charAt(lenb) - '0' : 0;
            int sum = num1 + num2 + temp;
            ans.insert(0,(sum % 10));
            temp = sum / 10;
            lena = lena - 1 >= 0 ? lena - 1 : -1;
            lenb = lenb - 1 >= 0 ? lenb - 1 : -1;
        }
        return ans;
    }
posted @   Cedrus  阅读(63)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示