<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?LeetCode刷題實(shí)戰(zhàn)415:字符串相加

          共 2175字,需瀏覽 5分鐘

           ·

          2021-10-21 07:16

          算法的重要性,我就不多說了吧,想去大廠,就必須要經(jīng)過基礎(chǔ)知識(shí)和業(yè)務(wù)邏輯面試+算法面試。所以,為了提高大家的算法能力,這個(gè)公眾號(hào)后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問題叫做?字符串相加,我們先來看題面:
          https://leetcode-cn.com/problems/add-strings/

          Given two non-negative integers, num1 and num2 represented as string, return the sum of num1 and num2 as a string.


          You must solve the problem without using any built-in library for handling large integers (such as BigInteger). You must also not convert the inputs to integers directly.


          給定兩個(gè)字符串形式的非負(fù)整數(shù) num1 和num2 ,計(jì)算它們的和并同樣以字符串形式返回。
          你不能使用任何內(nèi)建的用于處理大整數(shù)的庫(比如 BigInteger), 也不能直接將輸入的字符串轉(zhuǎn)換為整數(shù)形式。

          示例

          示例 1
          輸入:num1 = "11", num2 = "123"
          輸出:"134"

          示例 2
          輸入:num1 = "456", num2 = "77"
          輸出:"533"

          示例 3
          輸入:num1 = "0", num2 = "0"
          輸出:"0"


          解題

          題目分析:
          設(shè)置兩個(gè)變量i,j分別從num1和num2的后面開始遍歷,取對(duì)應(yīng)位置的數(shù)字、前面計(jì)算所得進(jìn)位相加的carry,carry對(duì)10的余數(shù)放入到結(jié)果中,carry/=10。因?yàn)閮蓚€(gè)字符串長(zhǎng)度可能不同,要記得處理剩余的字符。最后記得carry可能不等于0,要對(duì)其進(jìn)行處理 .

          class?Solution?{
          public:
          ????string?addStrings(string?num1, string?num2)?{
          ????????int?i=num1.size()-1,j=num2.size()-1,carry=0;
          ????????string?ans;
          ????????while(i>=0&&j>=0){
          ????????????carry+=(num1[i]-'0')+(num2[j]-'0'); //從兩個(gè)字符串的后面開始相加,記得加上進(jìn)位
          ????????????ans.push_back(carry%10+'0'); //將本位的求和結(jié)果放到結(jié)果中
          ????????????carry/=10;
          ????????????--i;--j;
          ????????}
          ????????while(i>=0){ //和下面的while,這兩個(gè)只會(huì)執(zhí)行其中的一個(gè)
          ????????????carry+=(num1[i]-'0');
          ????????????ans.push_back(carry%10+'0');
          ????????????carry/=10;
          ????????????--i;
          ????????}
          ????????while(j>=0){
          ????????????carry+=(num2[j]-'0');
          ????????????ans.push_back(carry%10+'0');
          ????????????carry/=10;
          ????????????--j;
          ????????}
          ????????while(carry!=0){ //最后記得處理可能不為0的carry
          ????????????ans.push_back(carry%10+'0');
          ????????????carry/=10;
          ????????}
          ????????reverse(ans.begin(),ans.end()); //將結(jié)果字符串進(jìn)行翻轉(zhuǎn)
          ????????return?ans;
          ????}
          };



          好了,今天的文章就到這里,如果覺得有所收獲,請(qǐng)順手點(diǎn)個(gè)在看或者轉(zhuǎn)發(fā)吧,你們的支持是我最大的動(dòng)力 。

          上期推文:

          LeetCode1-400題匯總,希望對(duì)你有點(diǎn)幫助!

          LeetCode刷題實(shí)戰(zhàn)401:二進(jìn)制手表

          LeetCode刷題實(shí)戰(zhàn)402:移掉 K 位數(shù)字

          LeetCode刷題實(shí)戰(zhàn)403:青蛙過河

          LeetCode刷題實(shí)戰(zhàn)404:左葉子之和

          LeetCode刷題實(shí)戰(zhàn)405:數(shù)字轉(zhuǎn)換為十六進(jìn)制數(shù)

          LeetCode刷題實(shí)戰(zhàn)406:根據(jù)身高重建隊(duì)列

          LeetCode刷題實(shí)戰(zhàn)407:接雨水 II

          LeetCode刷題實(shí)戰(zhàn)408:有效單詞縮寫

          LeetCode刷題實(shí)戰(zhàn)409:最長(zhǎng)回文串

          LeetCode刷題實(shí)戰(zhàn)410:分割數(shù)組的最大值

          LeetCode刷題實(shí)戰(zhàn)411:最短獨(dú)占單詞縮寫

          LeetCode刷題實(shí)戰(zhàn)412:Fizz Buzz

          LeetCode刷題實(shí)戰(zhàn)413:等差數(shù)列劃分

          LeetCode刷題實(shí)戰(zhàn)414:第三大的數(shù)


          瀏覽 9
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  自拍肏屄视频 | 大屌肏屄视频在线播 | 中文字幕32页 | 欧美高潮AAAAAA片 | 成人av影音先锋 成人电影无码三区 |