反转链表CPP_反转链表栈-程序员宅基地

技术标签: c++  链表  数据结构  

三种方式:常规方法两个:reverse1和reverse2。

reverse1:利用栈先进后出的特性。

reverse2:使用C++提供的vector和algorithm中的reverse。

reverse3:最省空间方式。

#include<iostream>
#include<stack>
#include<vector>
#include<algorithm>
using namespace std;

class Node
{
public:
    int value;
    Node* next;
public:
    Node(int val)
    {
        value = val;
        next = NULL;
    }
};

Node* reverse1(Node* head)
{

    stack<int> s1;
    while(head != NULL)
    {
        s1.push(head->value);
        head = head->next;
    }
    if(s1.empty())
        return nullptr;
    Node* newhead = new Node(-1);
    Node* finalhead = newhead;
    while(!s1.empty())
    {
        newhead->next = new Node(s1.top());
        s1.pop();
        newhead = newhead->next;
    }
    //newhead = nullptr;
    return finalhead->next;
}

Node* reverse2(Node* head)
{
    vector<int> v1;
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_60007338/article/details/127379842

智能推荐

Android RIL源码梳理(1) ——rild启动流程 ._android rild启动-程序员宅基地

文章浏览阅读1.6k次。一、RIL的基本架构Android RIL (Radio Interface Layer)提供了Telephony服务和Radio硬件之间的抽象层。RIL负责数据的可靠传输、AT命令的发送以及response的解析。一般的,应用处理器(AP)通过AT命令集与无线通讯模块(基带/BP)通信。通信的方式又分为主动请求的request(诸如拨号、发短信……),以及Modem主动上报的例如信号_android rild启动

uni-app-程序员宅基地

文章浏览阅读560次,点赞22次,收藏21次。uni-app 是一个基于 Vue.js 的跨平台应用开发框架。它允许开发者使用 Vue.js 的语法编写一次代码,然后将该代码发布到多个平台,包括但不限于微信小程序、H5、App 等。uni-app 提供了一套完整的开发工具链和组件库,使开发者能够快速构建跨平台的应用,并具备良好的性能和用户体验。视图容器首先,在components目录下创建一个新的.vue文件,作为自定义组件的文件。例如,可以创建一个名为的文件。在组件文件中,编写组件的模板部分,定义组件的结构和内容。

如何生成 .plist文件,plist文件制作教程_plist生成-程序员宅基地

文章浏览阅读8.1k次,点赞4次,收藏7次。如何生成 .plist文件,plist文件制作教程如何生成 plist文件plist文件制作教程准备好已经切分好的序列图打开软件按图提示操作选择位置保存生成的两个文件 plist png example前期准备软件:TexturePacker要制作的序列图1.准备好已经切分好的序列图2.打开软件3.按图提示操作选择位置保存生成的两个文件 *.plist *.png examp_plist生成

JTable的应用(二)-程序员宅基地

文章浏览阅读69次。目录如何使用Table(1)创建一个简单的表格(2)向容器添加表格(3)改变每每一列的宽度(4)用户选择(5)创建表格模型(6)监听数据改变(7)点燃数据改变事件(8)概念:编辑器和渲染器(Editors and Renderers)(9)使用自定义渲染器(10)为单元格指定提示工具(11)为列头指定工具集(12)排序和过滤..._jtable对象两个参数类型

uoj #139-程序员宅基地

文章浏览阅读79次。树链剖分//模板题由于存在换根操作对所有关于节点 u 的修改和查询操作进行分类讨论若 Root 在 u 的子树中,则不处理 u 所在的 Root 的那颗子树否则不会有影响寻找 Root 所在的那颗子树的根可以用倍增求#include <iostream>#include <cstdio>#include <algorithm>#include..._onuoj

宇宙时光推论-程序员宅基地

文章浏览阅读273次。象理主义者认为:时间和空间是无限的,在时间上,没有开始和终了,在空间上没有边界和尽头,而宇宙间的万事万物,小到朝菌、蝇虫,大到整个宇宙,都是有限的产生、存在和无限的循环,任何事物都有开始和结束。静久必静,物极必反。对于整个宇宙而言,物质永不毁灭,循环不已生生不息。第一节太极宇宙一:太易宇宙即宇宙形成过程中“未见气之前”的阶段,阴阳不分,不产生吸引,也不产生排斥,为静止的空间,通过观..._时间有没有开始,空间有没有尽头

随便推点

知识图谱从入门到应用——知识图谱的知识表示:符号表示方法_知识图谱符号表示-程序员宅基地

文章浏览阅读1.2w次,点赞9次,收藏13次。在前面的文章中已经多次提到,知识图谱采用图的方式描述和表达知识,相比于简单图,能建模更加复杂的事物关系,但比起形式化逻辑,又免于复杂的逻辑约束,使得知识的获取过程变得更加容易。但在知识图谱的实际实践中,不同的应用场景会对知识的建模采用不同表达能力的图表示方法。例如有些应用场景仅采用最简单的无向图,通常适合于对建模要求不高,偏于数据挖掘类的应用场景。知识图谱表示应用最多的是有向标记图(Directed Labelled Graph)。_知识图谱符号表示

Android Studio APK在真机上运行的方法(1)-程序员宅基地

文章浏览阅读710次,点赞8次,收藏17次。这时候软件可能就会识别手机。如果以上方法不可行,又不想花太多时间去找问题,就可以采用安装安装包的方式。我们可以在每一个对应项目对应目录下面的app\build\outputs\apk\debug查找到软件自动生成的安装包。如果是新版的AS的话可能只会看到一个app-debug.apk,并没有什么网上说的app-debug-unaligned.apk什么的两个.apk结尾的文件,这都不要紧,可以把这个拿到手机上直接安装。

Unity 划线 - 使用Image实现划线_unity quest3 在image上画线-程序员宅基地

文章浏览阅读1w次,点赞11次,收藏38次。unity使用Image实现划线功能_unity quest3 在image上画线

获取表单内部元素的N种方法_提取所有表单元素的方法-程序员宅基地

文章浏览阅读3.1k次。今天讲讲获取表单元素的N种方法~以上是部分资料参考的地方:http://blog.csdn.net/h12kjgj/article/details/61624509先给出一个实例。输入数字1~10,弹出输入的数字,并计算该数字的阶乘;如果输入的数字不在该范围内,则输出“balabala自己编的一些话”源代码: function Count(){var i,r,_提取所有表单元素的方法

脑肠轴——看不见的Crosstalk_脑肠轴检测指标-程序员宅基地

文章浏览阅读1.8w次,点赞5次,收藏11次。文献导读肠道菌群是指存在于宿主肠道内的微生物集合,它参与了宿主多种重要的生理作用,如影响机体的营养代谢、调节机体免疫系统的发育与成熟及抗菌作用,因此肠道菌群又被人称之为"被遗忘的器官"。随着科学技术的发展,人们逐渐意识到到肠道菌群与全身各个系统的疾病的发生发展都存在着密切的关联,从而提出一些像"肠脑轴"和"肠肝轴"等名词。肠脑轴背景介绍据统计,定植于人体肠道内数量约是人体细胞数量的..._脑肠轴检测指标

Qt安装教程(Qt 6.4)_qt6.4安装-程序员宅基地

文章浏览阅读6.5w次,点赞56次,收藏261次。Qt6.4安装教程、组件介绍_qt6.4安装

推荐文章

热门文章

相关标签