首页 > 其他分享 >6-3 链表逆置

6-3 链表逆置

时间:2022-10-25 00:01:33浏览次数:51  
标签:ListNode struct 表头 newhead 链表 逆置

本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:

struct ListNode *reverse( struct ListNode *head )
{
     struct ListNode *p = head;
     struct ListNode *newhead = NULL;
    while(p)
    {
         struct ListNode * r =  (struct ListNode*)malloc(sizeof( struct ListNode));
        
        r->data = p->data ; 
        r->next = newhead;
        
        newhead  = r;
        
        p = p->next;
    }
    return newhead;
    
    

 

标签:ListNode,struct,表头,newhead,链表,逆置
From: https://www.cnblogs.com/fan-wang/p/16823517.html

相关文章

  • 7-2 双向循环链表应用
    已知p指向双向循环链表中的一个结点,其结点结构为data、prior、next三个域,实现交换p所指向的结点和它的前缀结点的顺序。#include<iostream>#defineElemTypeintusing......
  • 力扣 114. 二叉树展开为链表-原地算法(O(1) 额外空间)详解
    114.二叉树展开为链表给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而......
  • #yyds干货盘点# LeetCode 腾讯精选练习 50 题:合并两个有序链表
    题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例1:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]示例2:......
  • 局部反转链表
    给你单链表的头指针head和两个整数 left和right,其中 left<=right。请你反转从位置left到位置right的链表节点,返回反转后的链表。publicListNodere......
  • JAVA--LinkedList底层双链表添加元素超详细
     集合里面存储的都是对象    添加第一个元素    添加第二个元素    依次往后添加对象/元素。   first指向linkedList集合里存储的第......
  • 链表
    #插入定义列表a=[a1,a2......ai-1,ai+1......an-1,an]ai-1-->节点p,ai+1-->节点q(此时p->next=q)设插入元素ai为节点xx->next=p->nextp->next=x#删除定义列表a=[a₁,......
  • 链表结构
    链表分为两种:单向链表和双向链表。 其中单向链表每个节点只有两个元素。 而双向链表的每个节点有三个元素。 还有,在代码开发的过程中,如果要解剖分析源码,那么,win......
  • 链表
    链表删除节点a,a+1....ai-1,ai,ai+1,....使ai-1的节点为p,使ai的节点为t,ai+1的节点为q使p(next-->ai+1)清除t节点的next完成删除节点t插入节点a,a+1....ai-1,ai+1,.........
  • 单链表c语言实现网上查找
    插入#include<malloc.h>#defineSIZE100#defineINCREMENT_SIZE10typedefstructLNode{intdata;LNode*next;}LNode,*LinkList;//creataLinkLi......
  • 单链表插入和删除一个节点的伪代码算法
    插入设ai-1节点为pai+1节点为q插入节点为t则p-->t-->next=q-->next删除设ai-1节点为pai+1节点为q删除的字节为tp-->next=t-->nextfree(t)参考链接https://bl......