天梯賽習題 L2 002 鍊錶去重

2021-08-15 06:08:32 字數 1100 閱讀 3528

時間限制

300 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者 陳越

給定乙個帶整數鍵值的單鏈表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

用陣列模擬鍊錶
題目鏈結
#include#include#include#includeusing namespace std;

const int maxn=100000;

struct node

a[maxn];

int f[maxn];

int cmp(node x,node y)

{ return x.num

天梯賽L2 002 鍊錶去重

problem description 給定乙個帶整數鍵值的鍊錶 l,你需要把其中絕對值重複的鍵值結點刪掉。即對每個鍵值 k,只有第乙個絕對值等於 k 的結點被保留。同時,所有被刪除的結點須被儲存在另乙個鍊錶上。例如給定 l 為 21 15 15 7 15,你需要輸出去重後的鍊錶 21 15 7,還...

PAT天梯賽 L2 002 鍊錶去重 STL

題目鏈結 思路 用結構體 儲存 乙個結點的位址 值 和下乙個位址 然後從首位址開始 往下走 並且每個值的絕對值 都標記一下 並且 每次往下走的時候 都判斷一下 其值的絕對值 是否 已經被標記 如果被標記過 那麼 它就要加入到 重複的序列當中 如果 沒有被標記過 就要標記 然後加入到 未重複的序列 a...

L2 002 鍊錶去重

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