面试题:链表中倒数第k个结点
题目:输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点。
链表结点定义如下:
struct List Node
{
int m n Value;
ListNode* m_p Next;
};
A.p->next=f
B.p->next=f和f=p
C.f=p->next
D.f->next=p和f=p
面试题:从尾到头打印链表
题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。
链表结点定义如下:
struct List Node
{
int m_n Key;
ListNode* m_pNext;
};
有双向循环链表结点:
typedef struct node
{
int date;
struct node *front,*next;
}_Node;
有两个双向循环链表A,B,知道其头指针为:
pHeadA,pHeadB,请写一函数将两上链表中date值
相同的结点删除