摘要:兩個(gè)用鏈表表示的數(shù)字相加思路將鏈表整體轉(zhuǎn)成,再之后轉(zhuǎn)成相加,得到再次之后,循環(huán)轉(zhuǎn)成鏈表代碼本題以及其它題目代碼地址地址
兩個(gè)用鏈表表示的數(shù)字相加 Add Two Numbers
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.
You may assume the two numbers do not contain any leading zero, except the number 0 itself.
example
Input: (2 -> 6) + (3 -> 7) Output: 1 -> 3 -> 5思路
將鏈表整體轉(zhuǎn)成str,再reverse
reverse之后轉(zhuǎn)成int相加,得到re
re再次reverse之后,循環(huán)轉(zhuǎn)成鏈表
代碼# Definition for singly-linked list. class ListNode(object): def __init__(self, x): self.val = x self.next = None class Solution(object): def addTwoNumbers(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ s1 = self.genS(l1) s2 = self.genS(l2) re = str(int(s1) + int(s2))[::-1] tmp = result = ListNode(int(re[0])) for i in range(1, len(re)): tmp.next = ListNode(int(re[i])) tmp = tmp.next return result def genS(self, li): s = "" while li: s += str(li.val) li = li.next return s[::-1] a = ListNode(2) a.next = ListNode(6) b = ListNode(3) b.next = ListNode(7) re = Solution().addTwoNumbers(a, b) print(re.next.val)
本題以及其它leetcode題目代碼github地址: github地址
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/38675.html
摘要:給出兩個(gè)非空的鏈表用來表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照逆序的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只能存儲(chǔ)一位數(shù)字。如果,我們將這兩個(gè)數(shù)相加起來,則會(huì)返回一個(gè)新的鏈表來表示它們的和。您可以假設(shè)除了數(shù)字之外,這兩個(gè)數(shù)都不會(huì)以開頭。 給出兩個(gè)?非空 的鏈表用來表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照?逆序?的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只能存儲(chǔ)?一位?數(shù)字。 如果,我們將這兩...
摘要:過程同樣是對(duì)齊相加,不足位補(bǔ)。迭代終止條件是兩個(gè)都為。如果這是一個(gè)類的話該如何實(shí)現(xiàn)將鏈表或者數(shù)組作為成員變量,提供對(duì)其操作的各種方法。 Add Two Numbers You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order a...
摘要:給出兩個(gè)非空的鏈表用來表示兩個(gè)非負(fù)的整數(shù)。如果,我們將這兩個(gè)數(shù)相加起來,則會(huì)返回一個(gè)新的鏈表來表示它們的和。需要考慮到兩個(gè)鏈表長(zhǎng)度不同時(shí)遍歷方式鏈表遍歷完成時(shí)最后一位是否需要進(jìn)一位。 ?給出兩個(gè) 非空 的鏈表用來表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只能存儲(chǔ) 一位 數(shù)字。如果,我們將這兩個(gè)數(shù)相加起來,則會(huì)返回一個(gè)新的鏈表來表示它們的和。 ...
摘要:給出兩個(gè)非空的鏈表用來表示兩個(gè)非負(fù)的整數(shù)。如果,我們將這兩個(gè)數(shù)相加起來,則會(huì)返回一個(gè)新的鏈表來表示它們的和。需要考慮到兩個(gè)鏈表長(zhǎng)度不同時(shí)遍歷方式鏈表遍歷完成時(shí)最后一位是否需要進(jìn)一位。 ?給出兩個(gè) 非空 的鏈表用來表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只能存儲(chǔ) 一位 數(shù)字。如果,我們將這兩個(gè)數(shù)相加起來,則會(huì)返回一個(gè)新的鏈表來表示它們的和。 ...
摘要:更新之前說感覺優(yōu)秀答案的最后三行可以用尾遞歸優(yōu)化不知道尾遞歸的小伙伴可以點(diǎn)這里,仔細(xì)想了一下,并不能。尾遞歸的實(shí)現(xiàn),往往需要改寫遞歸函數(shù),確保最后一步只調(diào)用自身。 上周日就想寫vue.nextTick的源碼分析,可是總是不知道從哪兒下手,今天有時(shí)間,先把leetcode第二題補(bǔ)了,感覺這道題還挺簡(jiǎn)單的 一、題目 兩數(shù)相加: 給出兩個(gè) 非空 的鏈表用來表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自...
閱讀 1391·2021-10-14 09:43
閱讀 4244·2021-09-27 13:57
閱讀 4575·2021-09-22 15:54
閱讀 2572·2021-09-22 10:54
閱讀 2387·2021-09-22 10:02
閱讀 2124·2021-08-27 13:11
閱讀 879·2019-08-29 18:44
閱讀 1654·2019-08-29 15:20