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++关于链表的几个常见面试题的主要内容,如果未能解决你的问题,请参考以下文章

c++实现单向单链表及常见面试题

单链表常见面试题

Linux运维工程师 50个常见面试题

数据结构之链表+常见面试题

链表常见面试题( 建议收藏!!)

java常见面试题——java笔试题总结