链表翻转(给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5)
2017-07-25 15:21
253 查看
链表翻转。
给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,提示:这个题是链表逆置的升级变型。
代码:
pNode RotateList(pNode* pHead, DataType k)
{
pNode pPre = Find(*pHead, k);
pPre = pPre->next;
pNode pCur = *pHead;
pNode pNewNode = NULL;
pNode pCur2 = NULL;
while (pCur != pPre)
{
pNewNode = pCur;
pCur = pCur->next;
pNewNode->next = pCur2;
pCur2 = pNewNode;
}
(*pHead)->next = pPre;
return pNewNode;
}
给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,提示:这个题是链表逆置的升级变型。
代码:
pNode RotateList(pNode* pHead, DataType k)
{
pNode pPre = Find(*pHead, k);
pPre = pPre->next;
pNode pCur = *pHead;
pNode pNewNode = NULL;
pNode pCur2 = NULL;
while (pCur != pPre)
{
pNewNode = pCur;
pCur = pCur->next;
pNewNode->next = pCur2;
pCur2 = pNewNode;
}
(*pHead)->next = pPre;
return pNewNode;
}
相关文章推荐
- 面试题:题目: 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5
- 链表翻转。比如给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5
- 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现
- 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6
- 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5。
- 9月10日,美团网2014校招研发笔试哈尔滨站 1、链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现
- 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现
- 链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6
- 链表翻转。给出一个链表和一个数K,按照分组逆置。
- 链表翻转:给出一个链表和一个数k,链表前k个节点进行翻转
- 用递归和非递归两种方法翻转一个链表
- [2014美团网笔试]给定一个单链表和一个整数k,要求每隔k个元素翻转链表
- 学生信息是:姓名,学号,性别,年龄,用一个链表,把这些信息连在一起,给出一个age, 在些链表中删除学生年龄等于age的学生信息。
- 链表逆置(给出一个链表和数k)
- 翻转链表 给定一个链表个一个整数k 将从右边k个翻转到前边
- 给出两个单向链表的头指针,比如h1、h2, 判断链表是否相交
- 寻找一个单向链表的中项,如果存在两个则返回前一个,给出算法描述
- 请给出一个时间为O(nlgk)、用来将k个已排序链表的算法。此处n为所有输入链表中元素的总数。
- 给定一个链表,比如L1--->L2---->L3---->................----->Ln,把链表调整为L1---->Ln----->L2----->Ln-1------>L3----
- 华为机试—链表翻转(给出链表和数K)