點擊打開鏈接題目描述
輸入一個鏈表,輸出該鏈表中倒數第k個結點。
快慢指針的介紹
快慢指針中的快慢指的是移動的步長,即每次向前移動速度的快慢。例如可以讓快指針每次沿鏈表向前移動2,慢指針每次向前移動1次。
判斷單鏈表是否爲循環鏈表
在有序鏈表中尋找中位數
如果鏈表爲存在環,如果找到環的入口點?
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* FindKthToTail( ListNode* pListHead, unsigned int k ) {
if ( pListHead == NULL||k<=0 )
return NULL;
ListNode* nptr=pListHead;
ListNode* kptr;
for ( unsigned int i = 0; i < k; ++i ) {
if( nptr!=NULL )
nptr = nptr->next;
else
return NULL;
}
kptr = pListHead;
while ( nptr!= NULL ) {
kptr = kptr->next;
nptr = nptr->next;
}
return kptr;
}
};