[縁に沿った問題]-LintCode-2つのソートチェーンテーブルをマージ
3831 ワード
ソース:
lintcode-165. 2つのソートチェーンテーブルをマージ
説明
2つのソートチェーンテーブルを新しいソートチェーンテーブルに結合
サンプル
問題を解く構想.
この問題の重点はチェーンテーブルが並べ替えられていることにある.
では、実際には、2つのチェーンテーブルの現在のノードの値を比較することができ、どの値が小さいかは、新しいチェーンテーブルの後ろに接続し、このチェーンテーブルの現在のポインタを1つ後ろに移動する.あるチェーンテーブルが空であることを知り、別のチェーンテーブルのすべての値を後ろにリンクすればよい.
インプリメンテーションコード
終わります.
連絡して
最後に、私の個人公衆番号「呼延十」に注目してください.不定期に多くのバックエンドエンジニアの学習ノートを更新します.直接公衆番号の私信やメールで連絡してください.きっと知っていて、言葉が尽きないに違いありません.
ChangeLog 2018-01-05完成
以上はすべて個人の考えで得たもので、間違いがあれば評論区の指摘を歓迎します.
転載を歓迎します.署名して原文のリンクを残してください.
メールアドレス:[email protected]
更多学习笔记看个人博客------->呼延十
lintcode-165. 2つのソートチェーンテーブルをマージ
説明
2つのソートチェーンテーブルを新しいソートチェーンテーブルに結合
サンプル
1->3->8->11->15->null,2->null, 1->2->3->8->11->15->null。
問題を解く構想.
この問題の重点はチェーンテーブルが並べ替えられていることにある.
では、実際には、2つのチェーンテーブルの現在のノードの値を比較することができ、どの値が小さいかは、新しいチェーンテーブルの後ろに接続し、このチェーンテーブルの現在のポインタを1つ後ろに移動する.あるチェーンテーブルが空であることを知り、別のチェーンテーブルのすべての値を後ろにリンクすればよい.
インプリメンテーションコード
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
// ,
ListNode dummy = new ListNode(-1), cur = dummy;
//
while (l1 != null && l2 != null) {
// ,
if (l1.val < l2.val) {
cur.next = l1;
l1 = l1.next;
} else {
cur.next = l2;
l2 = l2.next;
}
//
cur = cur.next;
}
// ,
cur.next = (l1 != null) ? l1 : l2;
//
return dummy.next;
}
終わります.
連絡して
最後に、私の個人公衆番号「呼延十」に注目してください.不定期に多くのバックエンドエンジニアの学習ノートを更新します.直接公衆番号の私信やメールで連絡してください.きっと知っていて、言葉が尽きないに違いありません.
ChangeLog 2018-01-05完成
以上はすべて個人の考えで得たもので、間違いがあれば評論区の指摘を歓迎します.
転載を歓迎します.署名して原文のリンクを残してください.
メールアドレス:[email protected]
更多学习笔记看个人博客------->呼延十