1. 程式人生 > >連結串列去重(強行用map水過)

連結串列去重(強行用map水過)

給定一個帶整數鍵值的單鏈表L,本題要求你編寫程式,刪除那些鍵值的絕對值有重複的結點。即對任意鍵值K,只有鍵值或其絕對值等於K的第一個結點可以被保留。同時,所有被刪除的結點必須被儲存在另外一個連結串列中。例如:另L為21→-15→-15→-7→15,則你必須輸出去重後的連結串列21→-15→-7、以及被刪除的連結串列-15→15。

輸入格式:

輸入第一行包含連結串列第一個結點的地址、以及結點個數N(<= 105 的正整數)。結點地址是一個非負的5位整數,NULL指標用-1表示。

隨後N行,每行按下列格式給出一個結點的資訊:

Address Key Next

其中Address是結點的地址,Key

是絕對值不超過104的整數,Next是下一個結點的地址。

輸出格式:

首先輸出去重後的連結串列,然後輸出被刪除結點組成的連結串列。每個結點佔一行,按輸入的格式輸出。

輸入樣例:
00100 5
99999 -7 87654
23854 -15 00000
87654 15 -1
00000 -15 99999
00100 21 23854
輸出樣例:
00100 21 23854
23854 -15 99999
99999 -7 -1
00000 -15 87654
87654 15 -1