单链表逆置

重写单链表逆置,熟能生巧~

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
typedef struct List{
 
    int num;
    struct List *next;
 
}ListNode,*pListNode;
 
void display(ListNode *pHead)
{
 
    while(pHead)
    {
        cout<<pHead->num<<"--";
        pHead = pHead->next;
    }
 
    cout<<endl;
}
 
ListNode* ReverseListNode(ListNode *pHead)
{
    ListNode* curNode = pHead;
    ListNode* preNode = pHead->next;
    ListNode* nextNode = preNode->next;
    curNode->next = NULL;
    while(nextNode)
    {
        preNode->next = curNode;
        curNode = preNode;
        preNode = nextNode;
        nextNode = nextNode->next;
    }
 
    preNode->next = curNode;
 
    return preNode;
}
 
 
int main()
{
    int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 
    ListNode* pHead = (struct List*)malloc(sizeof(struct List));
    pHead->num = 0;
    pHead->next = NULL;
 
    for(int i = 0; i < 10; i++)
    {
         ListNode *pNode = (struct List*)malloc(sizeof(struct List));
         pNode->num = arr[i];
         pNode->next = NULL;
 
         pNode->next = pHead->next;
         pHead->next = pNode;
 
    }
 
    ListNode* pTemp = pHead;
 
    while(pTemp)
    {
        cout<<pTemp->num<<"--";
        pTemp = pTemp->next;
    }
 
    cout<<endl;
    ListNode* pTemp2 = ReverseListNode(pHead);
    while(pTemp2)
    {
        cout<<pTemp2->num<<"--";
        pTemp2 = pTemp2->next;
    }
 
    cout<<endl;
 
    return 0;
 
}

 

posted @   xshang  阅读(134)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示