(C++)字符串相加

简介: (C++)字符串相加

愿所有美好如期而遇


题目链接:415. 字符串相加 - 力扣(LeetCode)

思路

我们看到字符串长度可能到达一万,而且不允许使用处理大整数的库,也就是说,转成整数相加后再转成字符串是不可行的。

那么我们就让字符串尾部的字符各自减去48后单位相加,再加进位,然后得到一个大小,求余后+48尾插到一个我们定义的字符串中,进位除以10,然后不为空的字符串删除尾部的单个字符,这就是单趟。

我们用循环来走,直到两个字符串都为空。

图解

代码

 class Solution {
 public:
 string addStrings(string num1, string num2) 
     {
 string result;
        int next = 0;
         char tmp1 = 0;
         char tmp2 = 0;
         while(!num1.empty() || !num2.empty())
         {
 if(!num1.empty())
                 tmp1 = num1[num1.size()-1] - 48;
 else
                 tmp1 = 0;
 if(!num2.empty())
                 tmp2 = num2[num2.size()-1] - 48;
 else
                tmp2 = 0;
            int sum = tmp1 + tmp2 + next;
 next = sum / 10;
 sum %= 10;
           result += (sum+48);
 if(!num1.empty())
                 num1.erase(num1.end()-1);
 if(!num2.empty())
                 num2.erase(num2.end()-1);
        }
if(next > 0)
           result += '1';
        reverse(result.begin(),result.end());
 return result;
     }   
};


目录
相关文章
|
6天前
|
存储 算法 编译器
【C++ 字符数组的模板特化】面向字符串的C++模板特化:理解与实践
【C++ 字符数组的模板特化】面向字符串的C++模板特化:理解与实践
55 1
|
6天前
|
对象存储 C++
在C++语言中字符串流
在C++语言中字符串流
18 2
|
6天前
|
并行计算 Go C++
2182.构造限制重复的字符串(模拟 贪心 优先队列 C++ Go)
【2月更文挑战第19天】2182.构造限制重复的字符串(模拟 贪心 优先队列 C++ Go)
25 1
|
6天前
|
Go C++
【力扣】2696. 删除子串后的字符串最小长度(模拟 栈 C++ Go实现栈)
【2月更文挑战第18天】2696. 删除子串后的字符串最小长度(模拟 栈 C++ Go实现栈)
36 6
|
6天前
|
存储 C++ 索引
C++ 字符串完全指南:学习基础知识到掌握高级应用技巧
C++的字符串使用`string`类处理,如`string greeting = "Hello"`。字符串连接可通过`+`或`append()`函数实现。访问字符使用索引,如`myString[0]`。`length()`或`size()`可获取长度。`getline()`用于读取整行输入。注意转义字符如`\\"`用于在字符串中嵌入双引号。使用`cin`读取字符串时,空格会终止输入,而`getline()`能读取整行。
27 0
|
1天前
|
C++
【C++基础】C++中的字符串
【C++基础】C++中的字符串
5 0
|
1天前
|
存储 C++
C++程序中的字符串与指针
C++程序中的字符串与指针
8 2
|
6天前
|
编解码 JavaScript 前端开发
【专栏】介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例
【4月更文挑战第29天】本文介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例。Base64编码将24位二进制数据转换为32位可打印字符,用“=”作填充。文中展示了各语言的编码解码代码,帮助开发者理解并应用于实际项目。
|
6天前
|
存储 编译器 C语言
C++字符串大小写之for语句
C++字符串大小写之for语句
20 0
|
6天前
|
C++
【代码片段】【C++】获取当前时间戳并生成固定格式字符串
【代码片段】【C++】获取当前时间戳并生成固定格式字符串
15 0