• LeetCode 415. 字符串相加


    地址 https://leetcode-cn.com/problems/add-strings/

    给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
    
     
    
    提示:
    
    num1 和num2 的长度都小于 5100
    num1 和num2 都只包含数字 0-9
    num1 和num2 都不包含任何前导零
    你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式

    解答

    题目思想和链表数相加类似
    两个数翻转后计算 注意进位 最后答案再翻转即可

    class Solution {
    public:
        string addStrings(string num1, string num2) {
            string ans;
            reverse(num1.begin(), num1.end());
            reverse(num2.begin(), num2.end());
    
            int p1 = 0; int p2 = 0;
            int extraAdd = 0;
            while (p1 < num1.size() && p2 < num2.size()) {
                int sum = (num1[p1]-'0') + (num2[p2] -'0') + extraAdd;
                extraAdd = sum / 10;
                sum = sum % 10;
                ans += to_string(sum);
                p1++; p2++;
            }
    
            while (p1 < num1.size()) {
                int sum = (num1[p1] - '0') + extraAdd;
                extraAdd = sum / 10;
                sum = sum % 10;
                ans += to_string(sum);
                p1++;
            }
            while (p2 < num2.size()) {
                int sum = (num2[p2] - '0') + extraAdd;
                extraAdd = sum / 10;
                sum = sum % 10;
                ans += to_string(sum);
                p2++;
            }
    
            if (extraAdd != 0) {
                ans += to_string(extraAdd);
            }
    
            reverse(ans.begin(),ans.end());
            return ans;
        }
    };
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    【crontab】误删crontab及其恢复
    New Concept English there (7)
    New Concept English there (6)
    New Concept English there (5)
    New Concept English there (4)
    New Concept English there (3)
    New Concept English there (2)Typing speed exercise
    New Concept English there (1)Typing speed exercise
    New Concept English Two 34 game over
    New Concept English Two 33 94
  • 原文地址:https://www.cnblogs.com/itdef/p/14068063.html
Copyright © 2020-2023  润新知