タイトル:2は単調もちろん、その後私たちは、合成リストを満たすために必要な、二つのリストを合成した後、入力リストおよび出力リストを増やす - ルールが減少します。
:リストが空の場合、リストのヘッドノードがpHead2組み合わされ、リストが空の場合は2を、次いで合わせたリストのヘッドノードがpHead1であります
合わせret_Headように、第1のノードを新しいリストを作成し、pHead1 pHead2を比較し、次の最小数====>再帰のリストを指し、ret_Head->次の2点の少数ret_Head
A:同じでなく、再帰的なスタック構造、スタックにも、この問題を解決するために使用することができます
/ * 構造体ListNode { int型のval; 次のstruct ListNode *; ListNode(int型X): ヴァル(x)は、次の(NULL){ } }; * / クラスのソリューション{ パブリック: ListNode *マージ(ListNode * pHead1、ListNode * pHead2) { (pHead1 == nullptr)であれば { pHead2を返します。 } (pHead2 == nullptr)であれば { pHead1を返します。 } ListNode * ret_Head = nullptr。 (pHead1->ヴァル<pHead2-> val)であれば { ret_Head = pHead1。 ret_Head->次=マージ(pHead1->次に、pHead2)。 } 他 { ret_Head = pHead2。 ret_Head->次=マージ(pHead1、pHead2->次); } 戻りret_Head。 } }。
関連トピック:
逆にすべてのKリストのセット:チェーンが与えられると、ノードkの各セットは、反転、反転後のリストを返します。Kは、以下のリストの長さに等しい正の整数です。ノードの合計数がkの整数倍でない場合、ノードは、残りの元の順序に続きます。
単鎖反転機能をプログラミング:単一リンクリストの反転を達成するための機能、リスト入力、反転リスト、フリップの後にリストを返します。
LRUキャッシュ:(最低使用 - 最近最も使用されたキャッシュ)LRUキャッシュ機能を実現するために、データ構造を設計します。これは、次の2つの操作をサポートしています。getおよびput。
https://www.nowcoder.com/practice/3da4aeb1c76042f2bc70dbcb94513338
キーが存在しない場合、または-1; - int型のget(int型のキー)キーがすでに存在する場合は、(0よりも常に大きい)のキー値に対応する値を返します。
無効プット(int型のキー、int型の値) - キーが存在しない場合は、値が挿入され、キーがすでに存在する場合、既存の値が使用されている値を置き換えます。容量制限に達した場合は、LRUキャッシュは、新しい要素を挿入する前に、必要があり、少なくとも最近使用した要素が削除されました。
「使用」の定義に特に注意を払う:一度使用されると考え新たに挿入またはキーを取得すると、既存の更新を置き換えるの値、使用されていません。制限:(1)であるOの時間複雑さの2つの操作を完了。