首页 > 其他分享 >2.JZ24 反转链表

2.JZ24 反转链表

时间:2022-08-18 13:00:21浏览次数:56  
标签:Node head new1 cur 反转 JZ24 next 链表 NULL

C++

 1 #include "stdafx.h"
 2 #include <stdlib.h>
 3 struct Node{
 4     int data;
 5     Node* next;
 6 };
 7 
 8 void print1(Node *head)  
 9 {  
10     Node *p;  
11     p=head;  
12     if(head!= NULL)  
13     do  
14     {  
15     printf("%d \n", p->data);  
16     p=p->next;  
17     }while(p!=NULL);  
18 }
19 
20 Node* ReverseList(Node* head)
21 {
22     if(head==NULL)
23         return NULL;
24 
25     Node* cur=head;
26     Node* pre=NULL;
27     Node* nx=NULL;
28     while(cur->next!=NULL)
29     {
30         nx=cur->next;
31         cur->next=pre;
32         pre=cur;
33         cur=nx;
34     }
35     cur->next=pre;
36     return cur;
37 }
38 Node* init( int num) // insert from back  
39 {  
40     if(0 >= num)  
41         return NULL;  
42     Node* cur, pre;  
43     Node* head = NULL;  
44     int i = 0; cur = head;  
45     Node* new1 = (Node*)malloc(sizeof(Node));  
46     new1->data = 1;  
47     head = cur = new1;  
48     for(i = 1; i < num; i++)  
49     {  
50         Node* new1=(Node*)malloc(sizeof(Node));  
51         new1->data = i + 1;  
52         cur->next = new1;  
53         cur = new1;  
54     }  
55      cur->next = NULL;     
56     return head;      
57 }  
58 int _tmain(int argc, _TCHAR* argv[])
59 {
60     Node* list =NULL;
61     list=init(10);
62     print1(list);
63     Node* newlist=ReverseList(list);
64     print1(newlist);
65     getchar();
66     return 0;
67 }

 

标签:Node,head,new1,cur,反转,JZ24,next,链表,NULL
From: https://www.cnblogs.com/sundayvc/p/16598319.html

相关文章

  • 剑指offer系列:从尾到头打印链表
    Java实现方式描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。代码/***publicclassListNode{*intval;*ListNodenext=null;*......
  • IOC-反转控制/ DI-依赖注入
    7.1IOC(inversionofcontrol)–反转控制1)之前我们在学JSP的时候,在CoreServlet中,我们创建xxxDao对象是如何创建的?IXxxDao xxxDao = new XxxDaoImpl();这种......
  • 分隔链表
    目录题目描述解题思路解题代码题目描述题目地址:https://leetcode.cn/problems/partition-list/题目要求给你一个链表的头节点head和一个特定值x,请你对链表进行分隔,......
  • LeetCode 反转链表算法题解 All In One
    LeetCode反转链表算法题解AllInOnejs/ts实现反转链表反转链表原理图解双指针,swap交换//反转双指针//swap:a=b;c=a;b=c;letprev:List......
  • 删除链表的倒数第 N 个结点
    题目描述题目地址:https://leetcode.cn/problems/remove-nth-node-from-end-of-list/题目要求:给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。解题思路......
  • 合并两个排序的链表
    目录题目描述解题思路解题代码题目描述题目地址:http://mtw.so/6r71s0题目要求:输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的......
  • django ORM定义实现链表结构
    需求场景各种链表使用场景,如单串,双端链表等需求描述实现阶段间串联的可前进后退的关系模型逻辑分析节点间串联.主要需要控制的是前节点和后节点的顺序关系以及......
  • 1075 链表元素分类——25分
    给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而[0,K]区间内的元素都排在大于K的元素前面。但每一类内部元素的顺序是不能改变......
  • 链表内指定区间反转
    目录题目描述解题思路解题代码题目描述题目地址:http://mtw.so/5Pu929题目要求将一个节点数为size链表m位置到n位置之间的区间反转,要求时间复杂度O(n),空间复......
  • 反转链表
    题目描述题目地址:http://mtw.so/6jyXMj题目要求给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。数据范......