輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。
public arraylist
printlistfromtailtohead
(listnode listnode)
for(
int i = a1.
size()
-1; i >=0;
--i)
return a2;
}
需要注意a1.add(listnode.val);
和a2.add(a1.get(i));
。
如果使用add方法新增物件的時候,使用不恰當的話會覆蓋前乙個內容的值,具體參考下面這下面這篇文章:
牛客解題思路 從尾到頭列印鍊錶
思路 最簡單的一種想法就是遍歷鍊錶,用棧來儲存資料,然後從棧中取出,比較簡單 public arraylist printlistfromtailtohead listnode listnode arraylist ret newarraylist while stack.isempty ret.a...
3 從尾到頭列印鍊錶
輸入乙個鍊錶的頭結點head,從尾到頭列印鍊錶的每乙個節點。注意是從尾到頭列印鍊錶節點。因此本題有兩個解法,分別用棧和遞迴來實現。但是請注意,在用遞迴實現的時候,當鍊表長度很長時候,容易導數函式呼叫多層棧的溢位。因此,推薦使用顯式用棧的方式,其魯棒性會更好一點。劍指offer的觀點 1 利用棧,先進...
3 從尾到頭列印鍊錶
題目描述 輸入乙個鍊錶,從尾到頭列印鍊錶每個結點的值。思路 借助棧,先進後出,從頭到尾將結點指標壓入棧,然後再依次將棧頂結點的值放入vector中,pop。struct listnode class solution while stack.empty return value struct lis...