首页 > 编程语言 >C++实现链表反转

C++实现链表反转

时间:2022-10-16 21:55:06浏览次数:53  
标签:head ListNode val 反转 C++ next 链表 printf new

#include "stdio.h"
struct ListNode{
    int val;
    ListNode *next;
    ListNode(int x) : val(x), next(NULL) {}
};
class Solution{

public:
    ListNode* Reverse(ListNode *head){
        ListNode *new_head = NULL;
        while (head){
            ListNode *next = head->next;
            head->next=new_head;
            new_head=head;
            head=next;
        }
        return new_head;
    }
};

int main(){
ListNode a(1);
	ListNode b(2);
	ListNode c(3);
	ListNode d(4);
	ListNode e(5);
	a.next = &b;
	b.next = &c;
	c.next = &d;
	d.next = &e;
	Solution solve;	
	ListNode *head = &a;
	printf("Before reverse:\n");
	while(head){
		printf("%d\n", head->val);
		head = head->next;
	}
	head = solve.Reverse(&a);
	printf("After reverse:\n");
	while(head){
		printf("%d\n", head->val);
		head = head->next;
	}
	return 0;
}

  

标签:head,ListNode,val,反转,C++,next,链表,printf,new
From: https://www.cnblogs.com/wzf-Learning/p/16797338.html

相关文章

  • C++二叉树动画演示
    C++二叉树动画演示题目2:基于前序、中序、后序序列构造二叉树需求:1、任意输入前序+中序序列或者中序+后序序列,生成二叉树,请使用三叉链表,在构造链表的过程中同步更新每......
  • C++提高编程
    目录C++提高编程1模板1.1模板的概念1.2函数模板1.2.1函数模板语法1.2.2函数模板注意事项1.2.3函数模板案例1.2.4普通函数与函数模板的区别1.2.5普通函数与函数模板......
  • 基于QT和C++实现的翻金币游戏
    基于QT和C++的翻金币游戏声明:QT翻金币项目可以说是每个新学QT的同学都会去写的一个项目,网上的源码也很多,我也是最近刚开始学QT,所以也参考了很多前辈的代码自己重新敲了一......
  • C++ Null 指针的使用
    原文链接:https://www.zhoubotong.site/post/85.html这里有必要说下关于空指针的使用注意事项,C++中,如果一个指针不指向任何数据,就称之为空指针,用NULL表示。注意,NULL......
  • 206. 反转链表
    206.反转链表来自<https://leetcode.cn/problems/reverse-linked-list/>/***Definitionforsingly-linkedlist.*structListNode{*intval;*......
  • 6205.反转之后不同整数的数目
    LeetCode-315-2022-10-1610:306205.反转之后不同整数的数目给你一个由正整数组成的数组nums。你必须取出数组中的每个整数,反转其中每个数位,并将反转后得到的数字添加......
  • 链表中倒数第k个数
    定义两个指针p,q都等于head。先让指针p先走k步(让两个指针相差k),然后再让两个指针一起走,当指针p走到头的时候,指针q刚好走到倒数第k个。#include<stdio.h>structListNode......
  • 【算法训练营day4】LeetCode24. 两两交换链表中的结点 LeetCode19. 删除链表的倒数第N
    【算法训练营day4】LeetCode24.两两交换链表中的结点LeetCode19.删除链表的倒数第N个结点LeetCode面试题02.07.链表相交LeetCode142.环形链表IILeetCode24.两两......
  • C/C++排班系统
    C/C++排班系统程序设计题1:排班系统出题人:梁志红面向专业:人文地理与城乡规划劳动与社会保障公共事业管理难度等级:31问题描述某单位有7名保安人员,要求每个人在一......
  • C++获取时间戳 秒、微妙、纳秒
    转自:https://blog.csdn.net/CAIYUNFREEDOM/article/details/75388111,https://www.runoob.com/w3cnote/cpp-time_t.html1.例子#include<iostream>#include<sys/time.h......