<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>

          兩數(shù)之和

          共 424字,需瀏覽 1分鐘

           ·

          2021-02-02 00:51

          難度:中等
          來(lái)源:2. 兩數(shù)之和

          給你兩個(gè)?非空 的鏈表,表示兩個(gè)非負(fù)的整數(shù)。它們每位數(shù)字都是按照?逆序?的方式存儲(chǔ)的,并且每個(gè)節(jié)點(diǎn)只能存儲(chǔ)?一位?數(shù)字。

          請(qǐng)你將兩個(gè)數(shù)相加,并以相同形式返回一個(gè)表示和的鏈表。

          你可以假設(shè)除了數(shù)字 0 之外,這兩個(gè)數(shù)都不會(huì)以 0?開頭。

          示例 1:

          輸入:l1 =?[2,4,3], l2 =?[5,6,4]
          輸出:[7,0,8]
          解釋:342 + 465 = 807.

          示例 2:

          輸入:l1 =?[0], l2 =?[0]
          輸出:[0]

          示例 3:

          輸入:l1 =?[9,9,9,9,9,9,9], l2 =?[9,9,9,9]
          輸出:[8,9,9,9,0,0,0,1]

          提示:

          每個(gè)鏈表中的節(jié)點(diǎn)數(shù)在范圍?[1,?100]?內(nèi)
          0?<=?Node.val?<=?9
          題目數(shù)據(jù)保證列表表示的數(shù)字不含前導(dǎo)零

          思路:

          • 首先取出“+”左右兩邊兩個(gè)數(shù)的最低位;
          • 其次求出他們的和并作為輸出結(jié)果的最低位;
          • 考慮優(yōu)化:我們都知道的第一點(diǎn)是加法運(yùn)算是有進(jìn)位的,所以使用 carry 來(lái)保存進(jìn)位的結(jié)果;
          • 臨界值判斷:當(dāng)兩個(gè)鏈表長(zhǎng)度不一樣的時(shí)候,總會(huì)有 有值 和 null 相加的情況,所以需要處理下;
          • 用一個(gè)額外變量保存頭鏈表,用于返回結(jié)果;

          題解:

          /**
          ?*?Definition?for?singly-linked?list.
          ?*?function?ListNode(val,?next)?{
          ?*?????this.val?=?(val===undefined???0?:?val)
          ?*?????this.next?=?(next===undefined???null?:?next)
          ?*?}
          ?*/

          /**
          ?*?@param?{ListNode}?l1
          ?*?@param?{ListNode}?l2
          ?*?
          ?*?@return?{ListNode}
          ?*/

          var?addTwoNumbers?=?function(l1,?l2)?{
          ????let?sum?=?new?ListNode('0'),?
          ????????head?=?sum,
          ????????carry?=?0;

          ????while?(carry?||?l1?||?l2)?{
          ????????let?val1?=?l1???l1.val?:?0
          ????????let?val2?=?l2???l2.val?:?0
          ????????let?r1?=?val1?+?val2?+?carry
          ????????carry?=?r1?>=?10???1?:?0
          ????????sum.next?=?new?ListNode(r1?%?10)
          ????????sum?=?sum.next
          ????????if?(l1)?l1?=?l1.next
          ????????if?(l2)?l2?=?l2.next
          ????}
          ????return?head.next
          };


          瀏覽 66
          點(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>
                  日韩精品成人电影 | 妻AV在线| 青青色在线视频 | 欧美成人精品一区二区综合免费 | 毛片在线看不卡 |