ListNode * next
元素數據;
}ListNode,* pList
這是我的單鏈表逆序的三種不同算法,兩種遞歸,壹種非遞歸
pList ReverseList( pList head ){
如果(!頭||!(頭-& gt;下壹個) )
回程頭;
pList ph = reverse list(head-& gt;下壹個);
head->;下壹個-& gt;下壹個=頭;
head->;next = NULL
返回ph值;
}
pList ReverseList( pList head,pList & amp尾巴){
如果(!頭||!(頭-& gt;下壹個){
尾巴=頭;
回程頭;
}
普利斯特角;
pList ph = reverse list(head-& gt;接下來,pt);
pt-& gt;下壹個=頭;
head->;next = NULL
尾巴=頭;
返回ph值;
}
pList ReverseListNonRec(pList head){
如果(!頭||!(頭-& gt;下壹個) )
回程頭;
pList h = NULL,h 1 = head;
while(頭){
h 1 = head->;接下來;
head->;next = h;
h =頭部;
head = h 1;
}
返回h;
}