注意代码的鲁棒性!
函数:
1 ListNode* TheLastKthNode(ListNode* pHead,int k) 2 { 3 if(pHead==nullptr || k<=0) 4 return nullptr; 5 ListNode* quickNode=pHead; 6 ListNode* slowNode=pHead; 7 int cnt=1; 8 while(quickNode->m_pNext!=nullptr&&cnt<k) 9 { 10 quickNode=quickNode->m_pNext; 11 ++cnt; 12 } 13 if(cnt<k) 14 return nullptr; 15 while(quickNode->m_pNext!=nullptr) 16 { 17 quickNode=quickNode->m_pNext; 18 slowNode=slowNode->m_pNext; 19 } 20 return slowNode; 21 }