首页 > 其他分享 >day3 栈+数组实现链表翻转

day3 栈+数组实现链表翻转

时间:2022-09-26 15:44:23浏览次数:56  
标签:head 元素 day3 stk 链表 vector 数组 翻转

  1. 只给头节点,可利用其线性特征,利用head->next遍历链表,将元素入栈;
  2. 利用栈先进后出的特征,元素出栈保存到辅助vector中,返回vector;

函数push_back() :将元素放入数组最后一个元素后面

class Solution {
public:
    vector<int> reversePrint(ListNode* head) {
        stack<int> stk;
        //将数组中元素全部放入栈中
        while(head)
        {
            stk.push(head->val);
            head= head->next;
        }
        //将栈中元素放入辅助数组之中
        vector<int> vec;
        while(!stk.empty())
        {
            vec.push_back(stk.top());
            stk.pop();
        }
        //返回数组
        return vec;
        
    }
    
};

 

标签:head,元素,day3,stk,链表,vector,数组,翻转
From: https://www.cnblogs.com/lihaoxiang/p/16731163.html

相关文章

  • day3
    什么是字节位(bit)是计算机内部数据储存的最小单位,11001100是一个8为二进制数字节(byte)是计算机中数据处理的基本单位,习惯大写B来表示1B(byte,字节)=8bit(位)字符是指......
  • 指针,链表
    虚拟存储器指针是一个数据类型,可以分为指向int的指针类型,指向char的指针类型int*p=&a里面存放着p这个值的内存地址char*p是指向int类型变量a的指针(p指向a)这......
  • 带头节点的双向循环链表
    list.h文件点击查看代码#ifndefLLIST_H_#defineLLIST_H_#defineNAMESIZE32/*定义普通节点的类型*/structllist_node_st{ structNode_Data*data; ......
  • 算法练习-第四天【链表】
    链表24.两两交换链表中的节点参考:代码随想录24.两两交换链表中的节点看完题目的第一想法两两交换链表中的节点其实就是改变链表节点之间的指针将第二个节点的Next......
  • 92. 反转链表 II
    92.反转链表II给你单链表的头指针head和两个整数 left和right,其中 left<=right。请你反转从位置left到位置right的链表节点,返回反转后的链表。 示......
  • 代码随想录 两两交换链表中的节点(LeetCode 24), 删除链表的倒数第N个节点(LeetCode 1
    两两交换链表中的节点题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。题目链接示例:题解对于奇数个节点,最后一个节点不交换。结束条件:对于奇数个节......
  • 前端Node.js-Day39
    Session认证的局限性:Session认证机制需要配合Cookie才能实现。由于Cookie默认不支持跨域访问,所以,当涉及到前端跨域请求后端接口的时候,需要做很多额外的配置,才能实......
  • 在递增的链表中删除min到max之间的所有元素
    在递增的链表中删除min到max之间的所有元素存在一个递增的链表,其中相邻两个结点的数据域的值要么相等,要么就是后面的大于前面的,对该表进行删除值属于(min,max)包括min和m......
  • 链表之单链表
    单链表1.链表的定义通常将采用链式储存结构的线性表称为线性链表什么是链式储存结构用一组任意(可以连续,也可以不连续)的存储单元存放线性表的元素特点:逻辑次序和物......
  • 代码随想录 链表理论基础, 移除链表元素(LeetCode 203), 设计链表(LeetCode 707)及翻转
    链表理论基础链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意......