這道題是非常經典,而且比較簡單的遞迴。這道題在leetcode是vip題,中級。題目中需要呼叫內部介面,所以讀者可能比較不好測試。但是這道題包含的遞迴思想非常經典且簡介,不妨感受一下。
immutablelistnode.
printvalue
():列印當前節點的值。
immutablelistnode.
getnext
(
示例 1:
輸入:head =[1
,2,3
,4]輸出:[4,
3,2,
1]
示例 2:
輸入:head =[0
,-4,
-1,3
,-5]
輸出:[-5
,3,-
1,-4
,0]
示例 3:
輸入:head =[-
2,0,
6,4,
4,-6
]輸出:[-6
,4,4
,6,0
,-2]
鍊錶的長度在 [1, 1000] 之間。
每個節點的值在 [-1000, 1000] 之間。
/**
* // this is the immutablelistnode's api inte***ce.
* // you should not implement it, or speculate about its implementation.
* inte***ce immutablelistnode ;
*///使用遞迴
//當前節點的下一節點如果為空,則列印當前節點;如果下一節點不為空,則對下一節點遞迴呼叫本方法
//注意遞迴呼叫應該在列印當前節點之前
class
solution
head.
printvalue()
;}}
用時
記憶體擊敗100.00%
擊敗86.32%
LeetCode擊敗99 猜數字大小
每輪遊戲,我都會從 1 到 n 隨機選擇乙個數字。請你猜選出的是哪個數字。如果你猜錯了,我會告訴你,你猜測的數字比我選出的數字是大了還是小了。你可以通過呼叫乙個預先定義好的介面 int guess int num 來獲取猜測結果,返回值一共有 3 種可能的情況 1,1 或 0 1 我選出的數字比你猜...
LeetCode擊敗99 上公升下降字串
從 s 中選出 最小 的字元,將它 接在 結果字串的後面。從 s 剩餘字元中選出 最小 的字元,且該字元比上乙個新增的字元大,將它 接在 結果字串後面。重複步驟 2 直到你沒法從 s 中選擇字元。從 s 中選出 最大 的字元,將它 接在 結果字串的後面。從 s 剩餘字元中選出 最大 的字元,且該字元...
由逆序列的序號反推出逆序列
題目描述 給出正整數 n 則 1 到 n 這 n 個數可以構成 n 種排列。設 i1 in 是乙個排列,則 a1 an 是它的逆序列,其中 aj 是 j 的左邊大於 j 的數的個數。把這些排列按照逆序列從小到大的順序列出,如 n 3 時,列出 1 2 3 1 3 2 2 1 3 3 1 2 2 3 ...