輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。
輸入第一行為整數n(n>=1),代表測試鍊錶數。
從第二行開始每行表示乙個鍊錶,其中第乙個資料表示鍊錶中資料個數,其餘資料表示要測試的鍊錶中的資料,均為整數。
每一行對應乙個鍊錶反轉後的元素。
35 1 2 3 4 5
3 2 4 5
1 35 4 3 2 1
5 4 2
3
#include
#include
#include
typedef
struct list
l;l *
cre(
int n)
r->next=
null
;return head;
}void
f(l *head,
int n)
else
if(n>2)
q->next=h;
head->next=end;}}
void
output
(l *head)
}int
main()
for(i=
0;i)return0;
}
資料結構之鍊錶反轉
鍊錶分為單向鍊錶和雙向鍊錶,無論是哪一種鍊錶,反轉都是類似的,區別主要是雙向將當前節點的last節點指向next節點。鍊錶反轉要注意的就是找到當前節點時,在進行反轉前,找到當前節點的上乙個節點和下乙個節點,這樣才能保證每一次的反轉後可以移動到下乙個節點並繼續進行操作。public class nod...
LeetCode 資料結構 反轉鍊錶
首先看題目 反轉乙個單鏈表。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null高階 你可以迭代或遞迴地反轉鍊錶。你能否用兩種方法解決這道題?先不管什麼高階,不管黑貓白貓,只要能抓到耗子就是好貓。我們就是用最笨的方法也得把這道題給解決嘍。解決思路 首先明白我們要幹啥,反轉鍊錶...
資料結構 鍊錶操作之反轉鍊錶
這兩天遇到幾個反轉鍊錶的題目,覺得比較有意思,這裡分享一下 1 給出乙個鍊錶,同時給出索引m和n,要求將位於m和n之間的節點反轉,然後返回結果。1 m n lengthof linklist eg 1 2 3 4 5 m 2,n 4 輸出 1 4 3 2 5 反轉鍊錶的時候,有乙個比較關鍵的技巧,比...