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

2021-09-29 20:25:02 字數 1009 閱讀 6632

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

鍊錶的基本知識,節點的2個屬性(value、next);

棧的基本使用:建立空棧、pop、empty、push等;參考:

遞迴的本質:棧結構,將複雜的問題分成小問題去解決;參考:

靜態static:參考:

靜態方法只能訪問靜態成員(非靜態即可訪問靜態也可非靜態)

靜態方法中不能用this,super(靜態方法是類變數,不是例項變數)

主函式是靜態的;

public class num06 

//節點類

public static class listnode

//鍊錶末尾加節點

public void add(listnode node)

//將node放入最後乙個節點後面

currentnode.next = node;

return;

} }

/*** 倒敘列印鍊錶(棧方法)

* @param listnode

* @return

*/public static void printlistfromtail2head1(listnode listnode)

//將棧中元素依次輸出

while(!stack.empty()) }

/*** 倒敘列印鍊錶(遞迴法)

* @param listnode

*/public static void printlistfromtail2head2(listnode listnode)

system.out.println(listnode.value);

}}

向vector建立的陣列(arr)中加入元素:arr.push_back(a);

pnode->value,中->的含義

c++中stack的常用操作:pop()彈出、push()壓入、top()輸出棧頂,但不刪除、size()個數、empty()是否 為空

劍指Offer 從尾到頭列印鍊錶

題目1511 從尾到頭列印鍊錶 時間限制 1 秒 記憶體限制 128 兆 特殊判題 否 提交 1082 解決 350 題目描述 輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。輸入 每個輸入檔案僅包含一組測試樣例。每一組測試案例包含多行,每行乙個大於0的整數,代表乙個鍊錶的節點。第一行是鍊錶第乙個節點的...

劍指offer 從尾到頭列印鍊錶

輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。輸入描述 輸入為鍊錶的表頭 輸出描述 輸出為需要列印的 新鍊錶 的表頭 分析 題目本意是用的棧結構的先入後出,但是有了容器類的高階方法之後,使用棧的意義就不大了。c struct listnode class solution listnode p hea...

劍指Offer 從尾到頭列印鍊錶

輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。個人認為如果本題就只是列印的話,最好不要反轉鍊錶 你什麼時候見過列印函式改變資料結構了的 我的思路 儲存順序值,然後反轉。注意 1 reverse vprint.begin vprint.end algorithm的使用!2 重新構造。以上兩種衡量選擇。另...