您的位置:首页 > 其它

链表的倒数第k个元素(mark)

2016-04-20 00:23 295 查看
在之前创建的链表的基础上,访问链表的倒数第k个元素。

#include<iostream>

#include<cstring>

#include<vector>

#include<assert.h>

using namespace std;

struct ListNode

{

int m_key;

ListNode* next;

};

void createList1(ListNode* pHead)

{

ListNode* p=pHead;

for(int i=1;i<10;i++)

{

ListNode*pNewNode=new ListNode;

pNewNode->m_key=i;

pNewNode->next=NULL;

p->next=pNewNode;

p=pNewNode;

}

}

ListNode* FindKthNode(ListNode* pHead,int k)

{

ListNode* p1=pHead;

ListNode*p2=NULL;

for(int i=0;i<k-1;i++)

{

p1=p1->next;

}

p2=pHead;

while(p1->next!=NULL)

{

p1=p1->next;

p2=p2->next;

}

return p2;

}

int main()

{

ListNode*head=NULL;

head=new ListNode;

head->m_key=0;

head->next=NULL;

createList1(head);

ListNode* p=FindKthNode(head,2);

cout<<p->m_key<<endl;

while(head!=NULL)

{

cout<<head->m_key;

head=head->next;

}

cout<<endl;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: