public String reverse(String str){ if(str == null || str.length() <= 1){ return str; } re ...
昨天去阿里巴巴參加Java研發工程師的實習生面試,遇到的一個題目: 我們要反轉一個棧,如果使用另外一個棧作為輔助的話,那么反轉起來很簡單,一個接一個push到輔助棧里再push回來就行了。那么假如不能使用輔助棧,數組等空間為O n 的數據結構,只使用O 的空間復雜度即只能有常數個變量,怎么實現將棧反轉 即原來的棧頂在棧底,棧底變成棧頂。 面試官提示我使用遞歸來考慮。當時我沒有想出來 這道題使得我對 ...
2014-04-15 13:34 7 3160 推薦指數:
public String reverse(String str){ if(str == null || str.length() <= 1){ return str; } re ...
目錄 1 鏈表、棧、隊列、遞歸、哈希 1.1 鏈表 1.1.1 單向鏈表 1.1.2 雙向鏈表 1.1.3 單雙鏈表簡單練習 1.2 棧、隊列 1.3 棧、隊列常見 ...
今天說的是棧與遞歸的關系,函數的遞歸調用和普通函數調用是一樣的。當程序執行到某個函數時,將這個函數進行入棧操作,在入棧之前,通常需要完成三件事。 1、將所有的實參、返回地址等信息傳遞給被調函數保存。 2、為被調函數的局部變量分配存儲區。 3、將控制轉移到北調函數入口 ...
定義鏈表結構 非遞歸反轉單鏈表 遞歸反轉單鏈表 測試 View Code ...
...
運行結果: 鏈表:1->2->3->4->5反轉之后的鏈表為:5->4->3->2->1 ...
1,首先總結一下線性表(分為順序表和鏈接表,【即順序存儲結構和鏈式存儲結構的區別】)和棧(順序棧和鏈接棧)還有隊列(順序隊列和鏈接隊列)的JAVA類庫中的實現: java.util.ArrayList 實現了順序表,java.util.LinkedList 實現了鏈接表的功能 ...
之前參加過華北計算機研究所和優酷土豆的筆試,都考到出棧順序,之前數據結構學的不到位,遇到這類題時,還着實把我愣了一會,現在總結下,省得以后再遇到這類問題,也希望能給遇到同樣問題的兄弟們一個參考。 廢話不多說,直接上個例題。 棧之根本 ...