首页 > 其他分享 >JZ06-从尾到头打印链表

JZ06-从尾到头打印链表

时间:2024-04-10 19:12:45浏览次数:20  
标签:head ListNode JZ06 res 链表 vector 从尾 节点

image
image

/**
*  struct ListNode {
*        int val;
*        struct ListNode *next;
*        ListNode(int x) :
*              val(x), next(NULL) {
*        }
*  };
*/
#include <cstddef>
class Solution {
public:
    //输入一个链表的头节点,按链表从头到尾的顺序返回每个节点的值(用数组返回)

    //递归函数  找到链表尾,然后把链表尾的元素存到vector容器中
    //第一个参数是头节点,第二个参数 vector容器,但是要引用访问,因为要存入元素
    void recursion(ListNode * head, vector<int>& res)
    {
        if(head != NULL)
        {
            //递归遍历到尾节点,将为节点元素插入到vector容器中
            recursion(head->next, res);
            res.push_back(head->val);
        }
    }

    //返回值是int类型的vector容器, 函数参数是头指针
    vector<int> printListFromTailToHead(ListNode* head) {
        
        vector<int> res;    //实例化一个vector容器
        recursion(head, res);
        return res;
    }
};

标签:head,ListNode,JZ06,res,链表,vector,从尾,节点
From: https://www.cnblogs.com/H43724334/p/18127180

相关文章

  • 数据结构——递增有序链表的插入
    题目:实验目的:1、掌握线性表的基本知识2、深入理解、掌握并灵活运用线性表。3、熟练掌握线性表的存储结构及主要运算的实现已知顺序表L递增有序,将X插入到线性表的适当位置上,保证线性表有序。。输入格式:第1行输入顺序表长度,第2行输入递增有序的顺序表,第3行输入要插入的数据元......
  • 【数据结构与算法篇】单链表及相关OJ算法题
    【数据结构与算法篇】单链表及相关OJ算法题......
  • 两个链表的交集(力扣349)
    题目如下:给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2]示例2:输入:nums1=[4,9,5],nums2=[9,4,9,8,4]输出:[9,4]解释:[4......
  • 移除链表元素(虚拟节点法、力扣203)
    题目给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val==val 的节点,并返回 新的头节点 。示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head=[7,7,7,7],val=......
  • 【C语言】链表(原理+实现)
    目录一.链表概念二.链表实现1.创建新节点2.打印链表3.尾插、头插4.尾删、头删5.查找6.指定位置前插入7.指定位置后插入8.指定位置删除9.指定位置后删除 10.销毁链表三.完整代码一.链表概念链表是线性表的一种,与顺序表不同的是,链表在物理存储结构上不连续,在......
  • 合并两个有序链表 - LeetCode 热题 27
    大家好!我是曾续缘......
  • 链表--移除链表元素--力扣203
    目录题目思路代码细节题目给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val==val 的节点,并返回 新的头节点 。示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:h......
  • 顺序表和链表
    目录1.线性表2.顺序表3.链表1.线性表线性表是n个具有相同特征的数据元素的有限序列。线性表是一种在实际中被广泛应用的数据结构,常见的线性表有:顺序表、链表、栈、队列、字符串…………线性表在逻辑上是线性结构,也就是一条连续的直线,但是在物理上并不一定是连续的,线......
  • 【C/C++】循环链表实现约瑟夫问题
    #include<iostream>usingnamespacestd;typedefstructnode{intdata;node*next;node():data(0),next(nullptr){}node(intx):data(x),next(nullptr){}}node;//循环链表实现约瑟夫问题voidysflb(intn,intk){if(n<=0||k<=0){......
  • 单向链表使用
    单向链表包含解决的问题:求单链表中有效节点的个数查找单链表中的倒数第k个结点-使用双指针实现【新浪面试题】单链表的反转-通过栈的方式实现从尾到头打印单链表-方式1:递归实现。方式2:Stack栈实现合并两个有序的单链表,合并之后的链表依然有序。代码示例://定义......