牛客题霸 [ 大数加法]C++题解/答案
生活随笔
收集整理的這篇文章主要介紹了
牛客题霸 [ 大数加法]C++题解/答案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
牛客題霸 [ 大數加法]C++題解/答案
題解:
本質就是模擬加法運算
想要讓s與t長度統一,不足的部分用0來補充
然后從最后一位開始,兩個數相加,同時如果超過10,就把多的部分加到下一位
其實就是我們小學在草稿紙上運算加法的過程,逢10進1
代碼:
class Solution { public:/*** 代碼中的類名、方法名、參數名已經指定,請勿修改,直接返回方法規定的值即可* 計算兩個數之和* @param s string字符串 表示第一個整數* @param t string字符串 表示第二個整數* @return string字符串*/string solve(string s, string t) {// write code hereif(s.empty()) return t;if(t.empty()) return s;if(s.size() < t.size()) swap(s, t);int cha = s.size() - t.size();while(cha--) t = '0' + t;int num = s.size();int flag = 0;int sum;while(num--) {sum = s[num]-'0'+t[num]-'0'+flag;s[num] = (sum)%10 + '0';flag = sum /10 ;}if(flag == 1) {s = '1' + s;}return s;} };總結
以上是生活随笔為你收集整理的牛客题霸 [ 大数加法]C++题解/答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客题霸 [最长公共子串]C++题解/答
- 下一篇: 比亚迪仰望全国首家中心店开业:总面积超