Nowcoder 刷题

本文解析了Nowcoder刷题平台上的NC1级别题目,主要涉及大数加法的字符串表示与计算。通过模拟从尾部逐位相加并处理进位,展示了如何将两个整数字符串转换为最终的和。适合学习字符串操作和模拟算法的技巧。
摘要由CSDN通过智能技术生成

Nowcoder 刷题 NC1 大数加法

知识点:字符串、模拟

题目解析:输入字符串 计算求和 以字符串的形式返回

考点:大数加法,从字符串尾部计算结果,依次拼接

代码:

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    string solve(string s, string t) {
        // write code here
        //记录字符串的长度,用于对每位进行计算
        int s_length = s.size() - 1;
        int t_length = t.size() - 1;
        //记录进位
        int carry = 0;
        //创建一个字符串,用于记录结果
        string res;
        while(s_length>=0||t_length>=0||carry!=0){
            //将二进制转化成十进制
            int n1 = s_length<0?0:s[s_length--]-'0';//此处别忘记移位
            int n2 = t_length<0?0:t[t_length--]-'0';
            //计算和,别忘了进位
            int sum = n1+n2+carry;
            //超过10的进位;
            carry = sum/10;
            sum = sum%10;
            //将计算好的数存入;
            res = to_string(sum) + res; //int 转化成 string
        }
        return res;
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值