根據乙個整數序列構造乙個單鏈表,然後將其反轉。
例如:原單鏈表為 2 3 4 5 ,反轉之後為5 4 3 2
輸入包括多組測試資料,每組測試資料佔一行,第乙個為大於等於0的整數n,表示該單鏈表的長度,後面跟著n個整數,表示鍊錶的每乙個元素。整數之間用空格隔開
針對每組測試資料,輸出包括兩行,分別是反轉前和反轉後的鍊錶元素,用空格隔開
如果鍊錶為空,則只輸出一行,list is empty
5 1 2 3 4 50
1 2 3 4 55 4 3 2 1
list is empty
#include struct node;
void creat(node *l,int n)
}void print(node *l)
printf("\n");
}node revert(node *l)
}int main()
else
} return 0;
}
單鏈表反轉演算法
struct listnode 想到兩種方法 想法是構建乙個新的單鏈表,然後遍歷原來的單鏈表,每遍乙個就把它插入到最新的單鏈表的開頭,下面是 struct listnode reverselist struct listnode list temp list last null while temp...
單鏈表反轉問題
如何將單鏈表反轉?description definition for singly linked list.author crane yuan date 2016 9 17 下午12 11 13 public class listnode description 單鏈表反轉.param head ...
單鏈表反轉問題
今天聊乙個關於單鏈表反轉的問題,已知乙個單鏈表,給出頭結點,現要求定義乙個函式,輸入頭結點然後輸出反轉後的鍊錶。鍊錶反轉前 1 2 3 4 5 6 7 8 9 鍊錶反轉後 1 2 3 4 5 6 7 8 9首先我一看到這個問題,想到的是利用乙個陣列,將單鏈表按順序遍歷並把每個節點的值依次存放到陣列中...