主页 > 创业  > 

LeetCode——415.字符串相加

LeetCode——415.字符串相加

C++开头

😶‍🌫️😶‍🌫️😶‍🌫️😶‍🌫️Take your time ! 😶‍🌫️😶‍🌫️😶‍🌫️😶‍🌫️ 💥个人主页:🔥🔥🔥大魔王🔥🔥🔥 💥所属专栏:🔥魔王的修炼之路–C++🔥 如果你觉得这篇文章对你有帮助,请在文章结尾处留下你的点赞👍和关注💖,支持一下博主。同时记得收藏✨这篇文章,方便以后重新阅读。

415. 字符串相加

这是个简单题,主要是为了下一个字符串相乘博客能用上。

要注意的点就一个:最后当有一个结束时,检查一下flag是否为1,也就是是否还进了1没处理。

给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。 你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。 示例 1: 输入:num1 = “11”, num2 = “123” 输出:“134” 示例 2: 输入:num1 = “456”, num2 = “77” 输出:“533” 示例 3: 输入:num1 = “0”, num2 = “0” 输出:“0”

class Solution { public: string addStrings(string num1, string num2) { string s; int n1 = 0,n2 = 0; int flag = 0; int sum = 0; string::iterator cur1 = num1.end() - 1; string::iterator cur2 = num2.end() - 1; while(cur1 >= num1.begin() || cur2 >= num2.begin()) { n1 = cur1 >=num1.begin() ? *cur1 - '0' : 0; n2 = cur2 >=num2.begin() ? *cur2 - '0' : 0;//等到越界的时候也没事,因为三目操作符会选择性执行,只会去比那块的地址,不会访问进去。 sum = n1 + n2 + flag; flag = 0; if(sum > 9) { flag = 1; sum -= 10; } s += sum + '0'; cur1--; cur2--; } if(flag) s += 1 + '0'; reverse(s.begin(), s.end()); cout << s; return s; } }; 博主长期更新,博主的目标是不断提升阅读体验和内容质量,如果你喜欢博主的文章,请点个赞或者关注博主支持一波,我会更加努力的为你呈现精彩的内容。

🌈专栏推荐 😈魔王的修炼之路–C语言 😈魔王的修炼之路–数据结构初阶 😈魔王的修炼之路–C++ 😈魔王的修炼之路–Linux 更新不易,希望得到友友的三连支持一波。收藏这篇文章,意味着你将永久拥有它,无论何时何地,都可以立即找到重新阅读;关注博主,意味着无论何时何地,博主将永久和你一起学习进步,为你带来有价值的内容。

标签:

LeetCode——415.字符串相加由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“LeetCode——415.字符串相加