C++关于链表的几个常见面试题
Posted kevinsharif
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++关于链表的几个常见面试题相关的知识,希望对你有一定的参考价值。
1、从尾到头打印链表
2、删除链表节点
3、链表中倒数第K个节点
4、反转链表
5、合并两个排序的链表
6、两个链表的第一个公共节点
最基本的先上,往链表的末尾添加节点:
ListNode *AddToTail(ListNode**pHead, int data)
{
//创建新节点将数据保存下来
ListNode *pNew = new ListNode();
pNew->m_data = data;
pNew->m_pNext = NULL;
//头节点为空,则指向新节点,组成有一个节点的链表
if (*pHead == NULL)
{
*pHead = pNew;
}
else
{
//链表有部分数据的的话,定义指向头节点的指针偏移到链表的尾部
ListNode *pNode = *pHead;
while (pNode->m_pNext != NULL)
{
pNode = pNode->m_pNext;
}
//在链表的尾部连接上新的节点
pNode->m_pNext = pNew;
}
return *pHead; //返回整条链表
}
以上是关于C++关于链表的几个常见面试题的主要内容,如果未能解决你的问题,请参考以下文章