思路:構(gòu)建一個(gè)數(shù)據(jù)棧st,和一個(gè)最小數(shù)字棧 smin
st 的所有操作的都是正常的灭衷,正常的push(),top(),pop()
題目的關(guān)鍵是在st進(jìn)行push(),top(),pop() 操作的時(shí)候,smin需要執(zhí)行怎樣的操作才能保證min()函數(shù)能夠?qū)崿F(xiàn)輸出st中最小的數(shù)值的功能显拳。
注意:這里pop()函數(shù)的意義是窿克,當(dāng)數(shù)據(jù)棧st進(jìn)行pop()的時(shí)候,相當(dāng)于需要被st數(shù)據(jù)棧pop()掉的數(shù)字不參與最小數(shù)字比較了髓涯,這時(shí)候要是恰好st數(shù)據(jù)棧pop()掉的數(shù)字就是smin最小數(shù)據(jù)棧的棧頂元素(也就是最小的元素)的話袒啼,那么smin棧也不得不把棧頂元素pop()掉,因?yàn)檫@個(gè)數(shù)都不參與比較了复凳。