国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

LeetCode 2:兩數(shù)相加 Add Two Numbers

Towers / 1382人閱讀

摘要:給出兩個(gè)非空的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。如果,我們將這兩個(gè)數(shù)相加起來(lái),則會(huì)返回一個(gè)新的鏈表來(lái)表示它們的和。需要考慮到兩個(gè)鏈表長(zhǎng)度不同時(shí)遍歷方式鏈表遍歷完成時(shí)最后一位是否需要進(jìn)一位。

?給出兩個(gè) 非空 的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只能存儲(chǔ) 一位 數(shù)字。如果,我們將這兩個(gè)數(shù)相加起來(lái),則會(huì)返回一個(gè)新的鏈表來(lái)表示它們的和。

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

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

You may assume the two numbers do not contain any leading zero, except the number 0 itself.

示例:

輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
輸出:7 -> 0 -> 8
原因:342 + 465 = 807
解題思路:

將兩個(gè)鏈表遍歷將相同位置節(jié)點(diǎn)值累加,其和過(guò)十進(jìn)一,新鏈表相對(duì)位置節(jié)點(diǎn)值取其和的個(gè)位數(shù)值。需要考慮到兩個(gè)鏈表長(zhǎng)度不同時(shí)遍歷方式、鏈表遍歷完成時(shí)最后一位是否需要進(jìn)一位。

Java:
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode head = new ListNode(0);//虛擬頭節(jié)點(diǎn)
        ListNode cur = head;//指針
        int carry = 0;//進(jìn)位值
        while (l1 != null || l2 != null) {//兩個(gè)鏈表均為空時(shí)停止遍歷
            int x = (l1 != null) ? l1.val : 0;//x為l1的值,如果節(jié)點(diǎn)為空,值為0
            int y = (l2 != null) ? l2.val : 0;//y為l2的值,如果節(jié)點(diǎn)為空,值為0
            int sum = carry + x + y;//sum為兩節(jié)點(diǎn)值之和
            carry = sum / 10;//得進(jìn)位值(1)
            cur.next = new ListNode(sum % 10);//sum%10 得余數(shù)即 個(gè)位數(shù)的值
            cur = cur.next;//刷新指針
            if (l1 != null) l1 = l1.next;//l1節(jié)點(diǎn)不為空繼續(xù)刷新下一個(gè)節(jié)點(diǎn)
            if (l2 != null) l2 = l2.next;//l2節(jié)點(diǎn)不為空繼續(xù)刷新下一個(gè)節(jié)點(diǎn)
        }
        if (carry > 0) {//如果仍然需要進(jìn) 1 ,則直接新建一個(gè)節(jié)點(diǎn)
            cur.next = new ListNode(carry);
        }
        return head.next;
    }
}
Python3:
class Solution:
    def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
        head = ListNode(0)
        cur = head
        sum = 0
        while l1 or l2:
            if l1:#l1不為空
                sum += l1.val#累計(jì)兩節(jié)點(diǎn)值的和
                l1 = l1.next#刷新節(jié)點(diǎn)
            if l2:
                sum += l2.val#累計(jì)兩節(jié)點(diǎn)值的和
                l2 = l2.next#刷新節(jié)點(diǎn)
            cur.next = ListNode(sum % 10)//刷新新鏈表
            cur = cur.next
            sum = sum // 10
        if sum != 0:
            cur.next = ListNode(sum)
        return head.next

歡迎關(guān)注公.眾號(hào)一起刷題: 愛(ài)寫(xiě)B(tài)ug

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/45217.html

相關(guān)文章

  • Leetcode 2 Add Two Numbers 兩數(shù)相加

    摘要:這題是說(shuō)給出兩個(gè)鏈表每個(gè)鏈表代表一個(gè)多位整數(shù)個(gè)位在前比如代表著求這兩個(gè)鏈表代表的整數(shù)之和同樣以倒序的鏈表表示難度這個(gè)題目就是模擬人手算加法的過(guò)程需要記錄進(jìn)位每次把對(duì)應(yīng)位置兩個(gè)節(jié)點(diǎn)如果一個(gè)走到頭了就只算其中一個(gè)的值加上進(jìn)位值 Add Two Numbers You are given two linked lists representing two non-negative num...

    Charlie_Jade 評(píng)論0 收藏0
  • LeetCode 2兩數(shù)相加 Add Two Numbers

    摘要:給出兩個(gè)非空的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。如果,我們將這兩個(gè)數(shù)相加起來(lái),則會(huì)返回一個(gè)新的鏈表來(lái)表示它們的和。需要考慮到兩個(gè)鏈表長(zhǎng)度不同時(shí)遍歷方式鏈表遍歷完成時(shí)最后一位是否需要進(jìn)一位。 ?給出兩個(gè) 非空 的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只能存儲(chǔ) 一位 數(shù)字。如果,我們將這兩個(gè)數(shù)相加起來(lái),則會(huì)返回一個(gè)新的鏈表來(lái)表示它們的和。 ...

    diabloneo 評(píng)論0 收藏0
  • LeetCode.2 兩數(shù)相加(Add Two Numbers)(JS)

    摘要:更新之前說(shuō)感覺(jué)優(yōu)秀答案的最后三行可以用尾遞歸優(yōu)化不知道尾遞歸的小伙伴可以點(diǎn)這里,仔細(xì)想了一下,并不能。尾遞歸的實(shí)現(xiàn),往往需要改寫(xiě)遞歸函數(shù),確保最后一步只調(diào)用自身。 上周日就想寫(xiě)vue.nextTick的源碼分析,可是總是不知道從哪兒下手,今天有時(shí)間,先把leetcode第二題補(bǔ)了,感覺(jué)這道題還挺簡(jiǎn)單的 一、題目 兩數(shù)相加: 給出兩個(gè) 非空 的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自...

    Binguner 評(píng)論0 收藏0
  • LeetCode 之 JavaScript 解答第二題 —— 兩數(shù)相加Add Two Number

    摘要:多位數(shù)加多位數(shù),反轉(zhuǎn)鏈表轉(zhuǎn)化整數(shù),如果整數(shù)相加,可能會(huì)溢出,此方法行不通。直接進(jìn)行位數(shù)運(yùn)算,兩鏈表每取出一個(gè)就做運(yùn)算,將結(jié)果放入到新鏈表中。求和運(yùn)算會(huì)出現(xiàn)額外的進(jìn)位一般進(jìn)位與最高位進(jìn)位兩種情況。兩位數(shù)取模運(yùn)算。 Time:2019/4/2Title: ADD Two NumbersDifficulty: mediumAuthor:小鹿公眾號(hào):一個(gè)不甘平凡的碼農(nóng)。 題目二:ADD Two...

    Sunxb 評(píng)論0 收藏0
  • LeetCode 167:兩數(shù)之和 II - 輸入有序數(shù)組 Two Sum II - Input a

    摘要:公眾號(hào)愛(ài)寫(xiě)給定一個(gè)已按照升序排列的有序數(shù)組,找到兩個(gè)數(shù)使得它們相加之和等于目標(biāo)數(shù)。函數(shù)應(yīng)該返回這兩個(gè)下標(biāo)值和,其中必須小于。示例輸入輸出解釋與之和等于目標(biāo)數(shù)。 公眾號(hào): 愛(ài)寫(xiě)bug(ID:icodebugs) 給定一個(gè)已按照升序排列 的有序數(shù)組,找到兩個(gè)數(shù)使得它們相加之和等于目標(biāo)數(shù)。 函數(shù)應(yīng)該返回這兩個(gè)下標(biāo)值 index1 和 index2,其中 index1 必須小于 index2。...

    張春雷 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<