問題のあるコードへのソリューション:
1 クラスのソリューション: 2 DEF addTwoNumbers(自己、L1:ListNode、L2:ListNode) - > ListNode: 3 RES1 = '' 4 RES2 = ' 5 ながらL1: 6 RES1 + = STR(l1.val) 7 L1 = L1 .next 8 ながらL2: 9 RES2 + = STR(l2.val) 10 、L2 = l2.next 11 TEMP = STR(INT(RES1 [:: - 1])+ INT(RES2 [:: - 1]))[ :: - 1 ] 12の RES = ListNode(INT(TEMP [0])) 13 のT =の解像度 14 のための I における範囲(1 、LEN(TEMP)): 15 P = ListNode(INT(TEMP [I])) 16 t.next = P 17 、T = t.next 18 戻り RES
まず、全体的な分析:
問題を抽出し、文字列の形式にスプライスされ、各リンクされたリストの各ノードの値が与えられ、問題の二つの一本鎖型の媒体パラメータの難しさ(各ノードのリストの整数値)であります、
次いで、得られた再整形に2つの文字列を反転し、新しい値を加算したシェーピング。ように、その後のすべての数を再びと逆さまに入力した文字列に変換する。この値
新しい単一リンクリストに接続されたノードの値は、帰国します
第二に、特定のアイデア
1、2つの変数の定義RES1 とRES2を空の文字列に初期化され、
図2は、それぞれ2つのループのリストを介して、各ノードの値は、文字列型に横断し、上記定義された変数にスプライスされ
図3に示すように、変数の定義TEMPリンクされたリスト内の各ノードに対して、文字列の連結値(文字列の形で)結果を格納します
図4に示すように、単一リンクリストの新しいインスタンスRES、また、先頭ポインタ定義Tを
図5は、トラバースTEMP、それぞれの値は、中に入ると連鎖リスト結果に接続されたノードの結果値として形作ら
6、結果のリストを返します。