輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是遞增排序的。
定義兩個指標,分別指向這兩個鍊錶的第乙個結點。當第乙個結點的值小於第二個結點的值時,鍊錶1的頭結點將是合併後的鍊錶的頭結點。繼續比較兩個頭結點,如果第二個結點的值小,鍊錶2的頭結點將是合併剩餘結點得到的鍊錶的頭結點。
package com.wsy;
class node
public node(int value, node next)
public int getvalue()
public void setvalue(int value)
public node getnext()
public void setnext(node next)
}public class main
public static node init1()
public static node init2()
public static void print(node node)
system.out.println();
}public static node merge(node head1, node head2)
node head = null;
node current = null;
while (head1 != null && head2 != null) else
head1 = head1.getnext();
} else else
head2 = head2.getnext();}}
if (head1 == null) else
return head;
}}
面試題25 合併兩個排序鍊錶
題目 輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是按照遞增排序的。include include list.h using namespace std struct listnode listnode mergetwolists listnode phead1,listnode p...
面試題25 合併兩個排序的鍊錶
一 題目 輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是按照遞增排序的。例如輸入圖3.11中的鍊錶1和鍊錶2,則合併之後的公升序鍊錶如鍊錶3所示。二 關鍵 1.遞迴過程,使用遞迴函式解決。2.乙個鍊錶是空的,結果是不為空的那個。三 解釋 1.合併兩個鍊錶的過程 鍊錶1的頭結點的值小於...
面試題25 合併兩個排序的鍊錶
題目 輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 限制 0 鍊錶長度 1000 鍊錶結構 struct listnode 因為需要生成乙個全新的鍊錶,那麼我們就重新建立乙個鍊錶來儲存遞增排序鍊錶,然後每次...