輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。
解析:①笨方法:獲取鍊錶長度,尋找倒數第k個結點的正數字置:totalnum - k + 1;
②雙指標:兩個指標相距k,同時向後遍歷,當快指標遍歷到尾部null時,慢指標指向倒數第k個結點
**:/*
public class listnode
}*/public class solution else
listnode currentnode = head.next;
while(currentnode != null)
if(totalnum < k)
//獲取倒數第k個節點,即正數第totalnum-k + 1個節點
listnode nodek = head;
for(int i = 1; i <= totalnum-k; i++)
return nodek;}}
/*public class listnode
}*/public class solution
k--; //放在這個位置是為了保證快指標跑完k-1後,慢指標再開始跑
}if(totalnum < a)
return low;}}
劍指offer JZ15 反轉鍊錶
輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。非常基礎的鍊錶題,幾乎所有學習鍊錶的程式設計師都會在一開始學習這個演算法。唯一需要注意的是,當while迴圈結束時 也即是curnode到達了鍊錶尾 此時curnode.next並沒有被指向lastnode,需要在後面加上。class solution 返...
劍指offer JZ15反轉鍊錶
時間限制 c c 1秒,其他語言2秒 空間限制 c c 32m,其他語言64m 熱度指數 824838 本題知識點 鍊錶 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。function listnode x function reverselist phead let head phead let n...
劍指offer JZ15 反轉鍊錶
輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。思路 1.利用乙個棧,注意反轉後的最後乙個元素需要把它的next置為空,否則會無限迴圈 struct listnode class solution listnode p phead listnode temp null while note.empty ...