leetcodeブラシ31タイトル

今日のトピックは、ブラシLeetCode 2つ目の質問、2つの数字が一緒になり、今この質問を行うには非常に簡単です

まず考えたのは、だった右の2つの数字が抽出され、その後、一緒に追加して、新しいリストを生成しますが、問題があると、データ型intの最大数を超える可能性があります。コードは以下の通りであります:

パブリック 静的ListNode溶液(ListNode L1、L2 ListNode){
         // 入力文字列が最大範囲INT超えることがあるので、このアプローチは、正しくない 
        ListNodeヘッド= 新しい新規(0 ListNodeを); 
        ListNode P = ヘッドと
        のStringBuilderのStringBuilder = 新しい新規のStringBuilder();
         一方(L1 =!NULL ){ 
            StringBuilder.Insert( 0 、l1.val); 
            L1 = l1.next; 
        } 
        のStringBuilder stringBuilder2 = 新しい新規のStringBuilder();
         ながら!(L2 = NULL){ 
            stringBuilder2.insert( 0 、l2.val)。
            L2 = l2.next。
        } 
        int型の和= Integer.parseInt(stringBuilder.toString())+ Integer.parseInt(stringBuilder2.toString())。
        一覧 <整数>リスト= 新しい ArrayListを<> ();
        一方、(和!= 0 ){ 
            list.add(合計 10% )。 =和/ 10 
        } 
        のためのint型 i = 0; iが(はlist.sizeを<); iが++ ){ 
            ListNode listNode = 新しいですListNode(list.get(I)); 
            p.next = listNode。
            P = listNode。
        } 
        戻りhead.nextと、
    }

データがローからハイウェルに格納されているため、その後、したがって、プロセスは、データが追加されているシミュレートすることができ、アップ追加することができます。注意するには、この時点では世界的な数の必要性は、データを運ぶために必要があることを確認し、最終的にはすべての数字が一緒に、最終的に運ぶかどうかを判断する必要がすることです、我々はまた、新しいリストのノードを生成する必要があります

パブリック 静的ListNodeの対処方法2(ListNode L1、L2 ListNode){ 
        ListNodeヘッド = 新しい ListNode(0 )。
        ListNodeのP = ヘッド。
        int型前= 0 ;
        一方、(!L1 = ヌル!&& L2 = NULL ){
             int型 NUM1 = l1.val。
            int型からnum2 = l2.val。
            L1 = l1.next。
            L2 = l2.next。
            int型の合計= num1をnum2の+ + 前。
            ListNode newnode = 新しいですListNode(合計10% )。
            プリ =和/ 10 
            p.next = newnode。
            P = newnode。
        } 
        ListNodeその他 = 新しい ListNode(0 )。
        もし(!L1 = ヌル){ 
            others.next = L1; 
        } 他の 場合(L2 =!NULL ){ 
            others.next = L2。
        } 
        他人 = others.next。
        しばらく(他人!= nullを){
             int型 NUM = others.val。
            int型の合計= NUM + 前。
            ListNode newnode = 新しい ListNode(合計10% )。
            プリ =和/ 10 
            p.next = newnode。
            P = newnode。
            他人 = others.next。
        } 
        であれば(PRE = 0!){ 
            ListNode newnode = 新しいListNode(PRE)。
            p.next = newnode。
        } 
        戻りhead.nextと、
    }

 

おすすめ

転載: www.cnblogs.com/cquer-xjtuer-lys/p/11517012.html