LeetCode問題圖解-5

本文準(zhǔn)備講解1個(gè)算法編程問題瘾敢, 這個(gè)算法編程問題來自LeetCode平臺(tái)咙鞍。不了解.LeetCode平臺(tái)的讀者可以閱讀筆者文章(在線編程平臺(tái)推薦-LeetCode)箫柳。問題的英文版本描述如下:

Flatten Nested List Iterator

Given a nested list of integers, implement an iterator to flatten it.

Each element is either an integer, or a list -- whose elements may also be integers or other lists.

Example 1:

Given the list[[1,1],2,[1,1]],

By calling?next?repeatedly until?hasNext?returns false, the order of elements returned by?next?should be:[1,1,2,1,1].

Example 2:

Given the list[1,[4,[6]]],

By calling?next?repeatedly until?has Next?returns false, the order of elements returned by?next?should be:[1,4,6].

問題的中文版本描述:

處理鏈表

給定一個(gè)列表镀脂,該列表中的每個(gè)元素要么是個(gè)列表,要么是整數(shù)酒觅。將其變成一個(gè)只包含整數(shù)的簡(jiǎn)單列表撮执。

注意事項(xiàng)

如果給定的列表中的元素本身也是一個(gè)列表,那么該元素也可以包含列表舷丹。

樣例

給定[1,2,[1,2]]抒钱,返回[1,2,1,2]。

給定[4,[3,[2,[1]]]]颜凯,返回[4,3,2,1]谋币。

該問題要求對(duì)復(fù)合結(jié)構(gòu)列表進(jìn)行處理, 列表的元素可能為整數(shù),也可能為整數(shù)症概。以目標(biāo)列表[1,2,[1,2]]為例瑞信,首個(gè)元素為整數(shù)1,第2個(gè)元素為整數(shù)2穴豫,后1個(gè)元素為列表 [1,2]凡简。列表 [1,2] 又含有2個(gè)整數(shù)元素。核心的算法需要用到遞歸處理:以目標(biāo)列表 [4,[3,[2,[1]]]] 為例精肃,簡(jiǎn)單說明算法秤涩。首先處理目標(biāo)列表 [4,[3,[2,[1]]]],找出第1個(gè)整數(shù)元素并將該元素放入輸出列表司抱。處理目標(biāo)列表 [4,[3,[2,[1]]]]筐眷,找出第2個(gè)列表元素 [3,[2,[1]]] 。處理目標(biāo)列表 [3,[2,[1]]]习柠,找出第1個(gè)整數(shù)元素并將該元素放入輸出列表匀谣。處理目標(biāo)列表 [3,[2,[1]]],找出第2個(gè)列表元素 [2,[1]]资溃。處理目標(biāo)列表 [2,[1]]武翎,找出第1個(gè)整數(shù)元素并將該元素放入輸出列表。處理目標(biāo)列表 [2,[1]]溶锭,找出第2個(gè)列表元素 [1]宝恶。處理目標(biāo)列表 [1],找出第1個(gè)整數(shù)元素并將該元素放入輸出列表趴捅。

核心算法部分內(nèi)容見下圖:


核心算法部分內(nèi)容
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末垫毙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子拱绑,更是在濱河造成了極大的恐慌综芥,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猎拨,死亡現(xiàn)場(chǎng)離奇詭異膀藐,居然都是意外死亡屠阻,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門消请,熙熙樓的掌柜王于貴愁眉苦臉地迎上來栏笆,“玉大人,你說我怎么就攤上這事臊泰◎燃樱” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵缸逃,是天一觀的道長(zhǎng)针饥。 經(jīng)常有香客問我,道長(zhǎng)需频,這世上最難降的妖魔是什么丁眼? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮昭殉,結(jié)果婚禮上苞七,老公的妹妹穿的比我還像新娘。我一直安慰自己挪丢,他們只是感情好蹂风,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著乾蓬,像睡著了一般惠啄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上任内,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天撵渡,我揣著相機(jī)與錄音,去河邊找鬼死嗦。 笑死趋距,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的越走。 我是一名探鬼主播棚品,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼廊敌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起门怪,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤骡澈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后掷空,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肋殴,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡囤锉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了护锤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片官地。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖烙懦,靈堂內(nèi)的尸體忽然破棺而出驱入,到底是詐尸還是另有隱情,我是刑警寧澤氯析,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布亏较,位于F島的核電站,受9級(jí)特大地震影響掩缓,放射性物質(zhì)發(fā)生泄漏雪情。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一你辣、第九天 我趴在偏房一處隱蔽的房頂上張望巡通。 院中可真熱鬧,春花似錦舍哄、人聲如沸宴凉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跪解。三九已至,卻和暖如春签孔,著一層夾襖步出監(jiān)牢的瞬間叉讥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工饥追, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留图仓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓但绕,卻偏偏與公主長(zhǎng)得像救崔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子捏顺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容