トピックタグ:リンクリスト、数学
トピックは、それぞれ番号が、逆の順序を表し、私たち2つのリンクリストを与えました。2つの数値を追加してみましょう。
そして、一般的にはほぼ同じ追加しましたが、特にコードを見て、リンクされたリストになって、または使用する/して%。
Javaのソリューション:
ランタイム:2msの87%よりも速く
メモリ使用量:44メガバイト、85%未満
完了日:2019年7月5日
キーポイント:使用/キャリー取得;%は残りを利用しました
/ ** *単一リンクリストのための定義。 *パブリッククラスListNode { * int型のval; * ListNode次。 * ListNode(INT X){ヴァル= X。} *} * / クラスソリューション{ パブリックListNodeのaddTwoNumbers(ListNode L1、L2 ListNode){ ListNode dummyHead = 新しい ListNode(0 )。 ListNode CURSOR1 = L1; ListNode Cursor2の = L2; ListNode cursor3 = dummyHead。 int型のキャリー= 0 ; しばらく(CURSOR1!= nullの || Cursor2の!=ヌル)//は両方のリストを経る { // ノードが存在する場合は、値を取得し、elsewise、デフォルト0 int型 NUM1 = 0 ; int型からnum2 = 0 ; もし(!CURSOR1 = ヌル) NUM1 = cursor1.val。 もし(!Cursor2の= ヌル) からnum2 = cursor2.val。 int型の合計= NUM1 + NUM2 + 運びます。 // 更新キャリー及び和 キャリー=和/ 10 。 cursor3.next =新しい ListNode(合計10% )。 cursor3 = cursor3.next。 // 次のノードに、両方のリストを移動し た場合(!CURSOR1 = ヌル) CURSOR1 = cursor1.next。 もし(!Cursor2の= ヌル) Cursor2の = cursor2.next。 } // 最後に、まだ最後の数字のために持ち歩くチェックする必要がある 場合(キャリー== 1 ) cursor3.next = 新しい ListNode(1 ); 返すdummyHead.nextを。 } }
LeetCodeタイトルリスト- LeetCode質問一覧
トピック出典ます。https://leetcode.com/