本文是原创文章,转载请注明出处! 0.前言 # 本文为牛客网<剑指offer>刷题笔记 1.题目 # 输入一个链表,从尾到头打印链表每个节点的值 2.思路 # 不改变链表结构的情况下,首先,遍历链表将链表结点值存入栈中:然后,从栈顶逐个输出结点的值到向量. 3.code /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * }; *…
题目地址:从尾到头打印链表 题目描述                                    输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 题目示例                                    输入: {67,0,24,58} 返回值: [58,24,0,67] 解法分析                                    可以使用…
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 栈 递归 数组 日期 题目地址:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/ 题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <=…
说明: 1.本系列是根据<剑指Offer>这个系列做的一个小笔记. 2.直接动力是因为师兄师姐找工作很难,而且机械出生的我面试算法更难. 3.刚开始准备刷LeetCode.LintCode,突然看见一个大神研究生正在刷这个系列,故跟着大神学习. 4.在别人基础之上进行部分优化,总结自己的观点. 问题: 输入一个链表,返回一个反序的链表. 思路: 这题太简单了,什么方法都可以!首先肯定是遍历链表,之后怎么办都可以--->>>放在数组.链表.栈.队列.vector.......都…
题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 题解一:递归 /* 在最后一次递归方法返回以后,每一层的递归方法都会做一个arrayList.add(listNode.val)这个操作, 从最后一次到第一次,逆向的调用了后面的方法 */ static ArrayList<Integer> list = new ArrayList<>(); public static ArrayList<Integer> printListFromTailToH…
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 递归法 /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } * */ import java.util.ArrayList; public class Solution { public ArrayList<Integer> printList…
题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 Java public class Solution06 { public static void main(String[] args) { ListNode n1 = new ListNode(1); ListNode n2 = new ListNode(3); ListNode n3 = new…
题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值. 刚看到这道题的小伙伴可能就会想,这还不简单,将链表反转输出. 但是这种情况破坏了链表的结构. 如果面试官要求不破坏链表结构呢,这时候我们就想到了一种数据 结构---栈  当我们从前往后遍历链表逐个压栈 然后遍历结束后再 逐个出栈. 首先我们先来用第一种方式实现: #include <iostream> using namespace std; struct ListNode { int data; struct ListNode…
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 解题思路:利用栈先进后出的原理,依次把ArrayList的值入栈,再出栈即可逆序 import java.util.ArrayList;import java.util.List;import java.util.Stack; public class PrintListFromTailToHead { public class ListNode { int val; ListNode next = null; List…
本题来自<剑指offer> 从尾到头打印链表 题目: 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 思路: 方案一:首先遍历到尾部,然后从尾部进行到头值进行操作,后进先出,符合栈的规则.采用栈进行存储数据.采用C++编程. 方案二:采用递归的方式,其实栈就是递归的思路.采用C++编程. 方案三:遍历期间直接将值存储,最后翻转数据即可.采用python编程. C++ Code (栈方式): /** * struct ListNode { * int val; * struct…