劍指offer(java)

劍指offer:用兩個棧實現佇列、用兩個佇列實現一個棧(java)

題目:用兩個棧實現一個佇列。佇列的宣告如下,請實現它的兩個函式appendTail和deletedHead,分別完成在佇列尾部插入節點和在佇列頭部刪除節點的功能。 該題目,要求我們操作兩個先進後出的棧實現一個先進先出的佇列Queue,當要插入元素時,不妨先插入到stack1,stack2為空,當佇列 […]

劍指offer:把陣列排成最小的數(java)

題目:輸入一個正整數陣列,把陣列裡面所有的數字拼接排成一個數,列印能拼接出的所有數字中的一個。例如輸入陣列{3,32,321},則列印出這3個數字能排成的最小數字321323.     這個題目最直接的做法應該是先求出這個陣列中的所有數字的全排列,然後把每個排列拼接起來,最後求出排列起來的數字的最小 […]

劍指offer:不用加減乘除做加法(java)

題目:寫一個函式,求兩個整數之和,要求在函式體內不得適用 ,-,* ,./  四則運算子號     面試的時候被問道這個問題,首先我們分析人們是如何進行十進位制的加法的,比如如何得出5 17=22這個結果的,實際上,我們可以分三步進行:第一步只做各位相加不進位,此時相加的結果是12,第二步做進位,5 […]

劍指offer:圓圈中最後剩下的數字(java)

題目:0,1,,,,,n-1這n 個數字排成一個圓圈,從數字0開始每次從這個圓圈中刪除第m個數字。求出這個圓圈裡剩下的最後一個數字.     例如,0,1,2,3,4這5個數字組成的一個圓圈,從數字0開始每次刪除第3個數字,則刪除的前四個數字依次是2,0,4,1因此最後剩下的數字是3.     本題 […]