單鏈表逆序問題

2021-08-08 23:10:34 字數 707 閱讀 3673

鍊錶的結點如下所示,已知鍊錶的頭結點head,寫乙個函式把這個鍊錶逆序。

struct node

;typedef

struct node node ;

鍊錶逆序的實現過程:

下列**採用了遞迴方式和非遞迴方式兩種方法,實現了鍊錶逆序問題,**可以直接使用。

#include

using namespace std;

struct node

;typedef struct node node ;

//建立鍊錶節點

node* createnode()

else

}return head;

}void printlist(node *head)

cout << endl;

}//鍊錶逆序,非遞迴方式

node * reverselink(node *head)

return prev;

}//鍊錶逆序,遞迴方式

node *reverselink2(node *head)

int main(int argc, char ** argv)

單鏈表逆序

include include typedef struct student student typedef struct list list,list list createlist void paixu list l 比較笨拙的一種方法 list reverse list l int main ...

單鏈表逆序

第二個題目是很經典的 單鏈表逆序 問題。很多公司的面試題庫中都有這道題,有的公司明確題目要求不能使用額外的節點儲存空間,有的沒有明確說明,但是如果面試者使用了額外的節點儲存空間做中轉,會得到乙個比較低的分數。如何在不使用額外儲存節點的情況下使乙個單鏈表的所有節點逆序?我們先用迭代迴圈的思想來分析這個...

單鏈表逆序

很經典的 單鏈表逆序 問題。很多公司的面試題庫中都有這道題,有的公司明確題目要求不能使用額外的節點儲存空間,有的沒有明確說明,但是如果面試者使用了額外的節點儲存空間做中轉,會得到乙個比較低的分數。如何在不使用額外儲存節點的情況下使乙個單鏈表的所有節點逆序?我們先用迭代迴圈的思想來分析這個問題,鍊錶的...