多想想有没有高效的算法,如果1分钟都能想到的算法,别人考你还要什么意思?
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef struct node
{
char data;
node *next;
}node,*pnode;
pnode list,p,q;
int k=100;
void print(pnode head)
{
p=head->next;
while(p!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}
cout<<endl;
}
void load1(pnode head,string str)
{
pnode t=head,tt;
for(int i=0;i<str.size();i++)
{
tt=(pnode)malloc(sizeof(node));
tt->data=str[i];
tt->next=NULL;
t->next=tt;
t=t->next;
}
}
int len(pnode head)
{
pnode t=head->next;
int sum=0;
while(t->next!=NULL)
{
sum++;
t=t->next;
}
return sum;
}
int main() {
list=(pnode)malloc(sizeof(node));
list->next=NULL;
load1(list,"ABCDEFGHIJKLMNOPQRSTUVWAZX");
print(list);
pnode p1=list,p2=p1;
int icount=0;
while(p1->next!=NULL&&icount<k)
{
icount++;
p1=p1->next;
}
if(icount<k)
{
return 0;
}
else
{
p2=list->next;
while(p1->next!=NULL)
{
p1=p1->next;
p2=p2->next;
}
}
cout<<p2->data<<endl;
return 1;
}