1 '' '
2 2 つの数値を追加します:
3 空でないリンクリストを2つ指定して、2つの負でない整数を表します
4 それぞれの数字は逆の順序で保存されます各ノードは1つの数字しか保存できません
5 例:
6 入力:(2-> 4-> 3)+(5-> 6-> 4)
7 出力:7-> 0-> 8
8 理由:342 + 465 = 807
9
10 '' '
11 ' ' '
12は、 クラスListNode:
13である 。__init __ DEF(自己、X)
14 呼び出したときに、クラス宣言#
15 self.val X =
16 self.next =なし
。17 #自己のみ追加する関数のクラス宣言自体を指し独自の要素やその他の関数にアクセスできます
18 a = ListNode(10086)
19 #print(a、a。
val)20 #<__ main __。ListNode object at 0x000001F76D46A148> 10086
21
22 ##テール要素がヘッド要素を指すことを認識
23 #move = a
24 #i for range(4):
25 #temp = ListNode(i)
26 ##temp is ListNodeノード
27 #move.next = temp
28 ##move以下のノードはtemp
29です #move = move.next
30 ##ノードを下に移動
31 #move.next = a 32 ##ヘッドノードを再ポイント
a
33 クラスSolution1:
34 def addTwoNumbers(self、l1:ListNode、l2:ListNode)-> ListNode:
35 res = ListNode(10086)
36 move = res
37 キャリー= 0
38 #キャリー
39 while l1!=なしまたはl2!=なし:
40 if l1 ==なし:
41 l1、l2 = l2、l1
42 #位置を置き換え、l1を出力として使用
43 l2 =の場合= =なし:
44 キャリー、l1.val = divmod((l1.val +キャリー)、10)
45 #更新l1
46 move.next = l1
47 #データを設定
48 l1、l2、移動= l1.next、l2 .next、move.next
49 #データを50 下に移動する
else:
51 キャリー、l1.val = divmod((l1.val + l2.val +キャリー)、10)
52 #どれもなしでない場合、対応する位置が追加され、残りが作成されます
53 move.next = l1
54 #更新データ
55 L1、移動= l1.next、move.next
56は、 #は下方に移動
57は キャリーと== IFは、1:
58 (キャリー付き)move.next = ListNode
59 res.nextリターン
60
61である ' ''
62は、 クラスListNode:
63であります DEF __init__ (セルフ、X):
64 #は場合クラス宣言に呼び出しが行わ
65 self.val =X
66 self.next = なし
67 #クラスの缶アクセス機能は、他の要素とそれらの機能を追加する必要がで自己が自分自身を参照するには、宣言
68 #(10086)A = ListNode
69
70 #反復文言
71で クラス解決法1:
72 DEF addTwoNumbers(self、l1:ListNode、l2:ListNode)-> ListNode:
73 def recursive(n1、n2、carry = 0):
74 if if n1 == None and n2 == None:
75 return ListNode(1)if carry = 1 = 他なし
76 #キャリー出力がある場合
77 IF n1は== なし:
78 N1、N2 = N2、N1
79 #空の位置N1交換時れる
80 リターンはこの(N1、キャリー付きなし)再帰
81 #n1を使用していない再帰再帰を
82 IF N2 == なし。
83 キャリーと、n1.val divmod =()キャリー付き(+ n1.val、10 )、
84 #の戻り値とキャリーの値がN1の値が置き換えられます
85 n1.next = 再帰この(n1.next、キャリー付き無し)
86 #n1の次のデータの呼び出しを続行し、n1リンクリストを更新します
87 return n1
88 キャリーと、n1.val divmod =((+ n2.val v1.valキャリー+付き)、10 )、
89 #ヌル値が存在しない場合、N1の値を更新するために合計される
90 n1.next = 再帰この(n1.next、N2を.next)キャリー付き
91である #以降のすべてのN1 n1とn2の次の呼び出し時の設定値が
92 リターンN1
93 リターンはこの(L1、L2)再帰
94 #は、関数の内部に戻るを
2020-04-11