劍指offer 3 列印鍊錶

2021-09-25 06:41:24 字數 1030 閱讀 1601

輸入乙個鍊錶,按煉錶值從尾到頭的順序返回乙個arraylist

利用棧具有先進後出的陣列組合特性,將資料壓入棧中,然後將棧中的資料壓入vector中,便組成了乙個arraylist

#include

#include

#include

using namespace std;

using std:

:vector;

//結構體用來存放資料

typedef

struct listnode

//表示給val賦值,下乙個指標為null

}node;

node*

init()

;void

insertdata

(node* head,

int data)

;//按煉錶值從尾到頭的順序返回乙個arraylist

vector<

int>

printlistfromtailtohead

(listnode* head)

int len = arr.

size()

;for

(int i =

0; i)return result;

}//輸入資料檢測printlistfromtailtohead函式是否成功

void

testfun()

myarr =

printlistfromtailtohead

(mylist)

;for

(int i =

0; i < myarr.

size()

;++i)

printf

("%d"

, myarr[i]);

}int

main()

node*

init()

void

insertdata

(node* head,

int data)

劍指Offer 3 反轉鍊錶

反轉鍊錶,之前在pta做過的,寫完之後發現出現段錯誤,檢查一下發現是第乙個頭節點沒有把next 指標置null,加上之後就通過了。另外要注意結構體定義的建構函式,預設是null,而不是null,所以判斷鍊錶是不是到最後,要和null比較而不是null。struct listnode class so...

劍指offer(3) 從尾到頭列印鍊錶

輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。輸入為鍊錶的表頭 輸出為需要列印的 新鍊錶 的表頭 鍊錶是一種動態資料結構,是因為在建立鍊錶時,無須知道鍊錶的長度。當插入乙個結點時,我們只需要為新結點分配記憶體,然後調整指標的指向來確保新結點被鏈結到鍊錶中。記憶體分配不是在建立鍊錶時一次性完成,而是每新...

劍指offer 3 從尾到頭列印鍊錶

coding utf 8 class listnode def init self,x self.val x self.next none class solution 返回從尾部到頭部的列表值序列,例如 1,2,3 def init self self.result def printlistfr...