劍指offer03逆向輸出鍊錶

2022-08-19 05:48:10 字數 477 閱讀 3066

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

先反轉鍊錶,再存入vector

注意鍊錶->next的時候,都判斷下此時是否為空,不然很容易越界

/*

** struct listnode

* };

*/class

solution

//將鍊錶反置

listnode *pre =head ;

listnode *t = pre->next;

listnode *t_next = t?t->next:nullptr;

head->next =nullptr;

while

(t) listnode *tmp = pre ; //

現在指向尾

while

(tmp)

return

ans ;

}};

劍指offer 逆向輸出鍊錶

輸入乙個鍊錶的頭節點,從尾到頭反過來列印出每個節點的值 解法二 使用棧的 先進後出 特點,從頭到尾遍歷的過程中依次入棧,再從棧中取出元素輸出。需要借助棧的儲存結構。實現 public static void printnode node node while stack.isempty 解法三 根據...

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

題目描述 輸入乙個鍊錶,按煉錶值從尾到頭的順序返回乙個arraylist。思路 1 建立鍊錶 頭指標,遍歷指標,新節點指標 初始化,讀取鍊錶 2 怎麼使用棧 s.top s.push s.pop 3 怎麼使用 vectora,插入a.push back 訪問可以用a i struct listnod...

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

題目描述 輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。時間限制 c c 1秒,其他語言2秒 空間限制 c c 64m,其他語言128m 題目示例 輸入 返回值 58,24,0,67 解法分析可以使用unshift 方法,將鍊錶從頭到尾加到arr 0 然後返回arr。當然,正序加入a...