劍指offer 面試題5 從尾到頭列印鍊錶

2021-08-07 11:24:43 字數 776 閱讀 3502

題目描述:輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。

考慮用棧實現,**如下:

/*從尾到頭輸出鍊錶:棧,後進先出*/

#include#include#include#include#includeusing namespace std;

struct listnode

;/*尾部插入法插入節點*/

void add2tail(listnode **head, int value) }

/*刪除鍊錶中的節點*/

void removenode(listnode **head,int value)

else

}if(deleted!=null) }

/*逆向輸出鍊錶元素*/

void printlistreverse(listnode *head)

while(!liststack.empty()) }

/*從頭到尾列印鍊錶元素*/

void printlist(listnode *head)

cout<>n;

cout<<"請輸入鍊錶元素:";

for(int i=0;i>num;

add2tail(&head,num); }

cout<<"您輸入的鍊錶為:";

printlist(head);

cout<<"從尾到頭列印鍊錶為:";

printlistreverse(head);

return 0;

}

從尾到頭列印單鏈表(劍指offer面試題5)

題目 輸入乙個鍊錶的頭結點,從尾到頭反過來列印出每個結點的值。分析 此題考察單鏈表的理解和應用,為了實現列印,必須先建立乙個單鏈表,頭結點可有可無,但有頭結點和無頭結點在程式設計上是應該注意的,反向列印思路不一樣,這裡以包含頭結點舉例分析,單鏈表以尾部插入方式建立,頭結點資料域為空,頭結點指標指向下...

劍指Offer 面試題5 從尾到頭列印鍊錶

題目 輸入乙個鍊錶的頭結點,從尾到頭反過來列印每個節點的值.分析1 通常,列印是乙個唯讀操作,我們不希望列印的同時去修改原資料的內容.故我們不能改變鍊錶的結構.解決這個問題肯定是需要遍歷鍊錶的,但是遍歷的順序是從頭到尾的,可輸出的順序確實從尾到頭,也就是說第乙個遍歷到的節點最後乙個輸出,最後乙個遍歷...

劍指offer 面試題5 從尾到頭列印鍊錶

題目 輸入乙個鍊錶的頭結點,從尾到頭反過來列印出每個結點的值。public void invertedlist1 listnode head listnode p head stack integer stack new stack integer while p null while stack ...