单链表翻转
来源:互联网 发布:网络交友的利弊 编辑:程序博客网 时间:2024/05/16 04:32
struct ListNode
{
int data;
ListNode *pNext;
};
void Insertlist(ListNode **pHead,int value)
{
ListNode* node=new ListNode();
node->data=value;
node->pNext=NULL;
if(*pHead==NULL)
*pHead=node;
else
{
ListNode* p=*pHead;
while(p->pNext!=NULL)
{
p=p->pNext;
}
p->pNext=node;
}
}
void print(ListNode* pHead)
{
ListNode* p=pHead;
//ListNode p=pHead;
while(p)
{
cout<<p->data<<" ";
p=p->pNext;
}
cout<<endl;
}
//翻转单链表
void reverse(ListNode* pHead)
{
ListNode* p=pHead;
if(p==NULL)
return ;
else
reverse(p->pNext);
printf("%d ",p->data);
}
//ListNode* reverse(ListNode* pHead)
//{
//
// ListNode* cur=pHead;
// ListNode* prev=NULL;
// ListNode* reverhead=NULL;
// while(cur!=NULL)
// {
// ListNode* curnex=cur->pNext;
//
// if(curnex==NULL)
// {
// reverhead=cur;
// }
//
// cur->pNext=prev;
//
// prev=cur;
// cur=curnex;
// }
// return reverhead;
//}
////
//ListNode* FindNode(ListNode* pHead,int k)
//{
// if(pHead==NULL||k<0)
// return NULL;
// ListNode* fastNode=pHead;
// ListNode* slowNode=pHead;
// while(k--)
// {
// fastNode=fastNode->pNext;
// }
// while(fastNode!=NULL)
// {
// fastNode=fastNode->pNext;
// slowNode=slowNode->pNext;
// }
// return slowNode;
//}
阅读全文
0 0
- 单链表翻转
- 单链表翻转
- 单链表翻转
- 单链表翻转
- 单链表翻转
- 翻转单链表
- 翻转单链表
- 单链表翻转
- 单链表翻转
- 翻转单链表
- 单链表翻转
- 单链表翻转
- 翻转单链表
- 单链表翻转
- 单链表翻转
- 单链表翻转
- 单链表翻转
- 单链表翻转
- ClassPathXmlApplicationContext源码解析三:BFPP
- Linux 常用基本命令 cat grep
- SpringMVC基本配置
- 青蛙跳和斐波那契数列(转)
- vim的常用指令
- 单链表翻转
- ubutun下的一些使用小技巧
- Java通过JNI调用本地C/C++程序--常用示例
- Console MP3播放器 for C++
- python的学习:导入模块路径、重新加载路径、 is ==、深拷贝和浅拷贝
- 编译器和链接器
- mac os 配置 dock 栏图标显示/隐藏
- lintcode -- 带最小值操作的栈
- ClassPathXmlApplicationContext源码解析四