題目:
鍊錶中倒數第k個接點
題目描述:
輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。
/**
* 鍊錶的定義
*/public class listnode
}
方法一:
建立兩個指標pre和last,先讓兩者均指向頭結點,然後讓pre指標走k-1步,指向第k個節點,這樣pre和last就相差k-1個結點,last就指向pre的倒數第k個結點。然後兩個指標同時向後移動,當指標pre達到末尾的時候,第二個指標所指向就是倒數第k個結點了。
//執行時間為21ms,占用記憶體空間在22m左右
public listnode findkthtotail(listnode head,int k)
//建立兩個指標均指向煉表頭結點
listnode pre=head,last=head;
//迴圈k-1次,讓指標pre移動k-1次,指向第k個結點
//這樣指標pre和last就相差k-1個結點,last就指向pre的倒數第k個結點
for(int i=1;i
方法二:較簡潔的方法
/** 方法二,較簡潔的方法
*/public listnode findkthtotail(listnode head,int k)
return i
劍指offer每日一刷 2023年11月20日
題目名稱 矩形覆蓋 我們可以用2 1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2 1的小矩形無重疊地覆蓋乙個2 n的大矩形,總共有多少種方法?從題目描述可知,這也是一道斐波那契數列的題目 f n f n 1 f n 2 題目描述 我們可以用2 1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個...
劍指offer一刷 查詢演算法
難度 簡單 class solution return 1 時間複雜度 o n 空間複雜度 o n 遍歷陣列並通過交換操作,使元素的索引與值一一對應 即 nums i i 遍歷中,第一次遇到數字 x 時,將其交換至索引 x 處 而當第二次遇到數字 x 時,一定有 nums x x,此時即可得到一組重...
每日一刷 劍指offer 一 二維陣列中的查詢
為提公升coding能力,開啟每日一刷,每天至少完成1道題目,並將自己的總結思考記錄於此。題目 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。嘗試解法 暴力...