首页 > TAG信息列表 > Offer06
offer06 c++
class Solution { public: vector<int> reversePrint(ListNode* head) { //采用递归法 recur(head); //创建了recur函数,输入为head return res; //返回得到的res } private: vector<int> res; //定义int的叫做res的矢剑指offer06 从尾到头打印链表
题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 Related Topics 栈 递归 链表 双指针 方法 栈 时间复杂度:O(n) 空间复杂度:O(n) class Solution { public int[] reve剑指Offer06-从尾到头打印链表-easy
试题链接 题目描述: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 例如输入: 输入:head = [1,3,2] 输出:[2,3,1] 数据范围: 0 <= 链表长度 <= 10000 解题思路: 利用栈的后进先出的特性,遍历链表的同时往栈中插入,最后依次弹出栈中的值并保存在数组中即可。 AC剑指Offer06.从尾到头打印链表——单链表的逆置,文章中插入有图,超级详细,我一看就懂了
原题链接 题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例一 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 首先我想到了单链表的就地逆置,请参考我的文章,里面写得很详细:就地逆置单链表 于是写出了以下代码,其为包含头结点的剑指offer06-从尾到头打印链表
题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 分析: 问题是链表的反向遍历,于是第一种方法可以将链表反转,然后遍历即可。 缺点:会破坏原来的链表顺序。 优点:O(N)的时间复杂度其空间复杂度是O(1); 提到反向,就应该想到一种数据结构——栈,利用栈FILO剑指offer06--矩形覆盖
方法 对于这种题目我向来是没有任何思路的,但是按照tag来刷题之后,我就大概摸到了窍门,和fibonacci数列一样是找规律的题目,用递归求解.我搬照牛客网上的一个解答. 和跳台阶类似,小矩形横着放相当于跳两级台阶,小矩形竖着放相当于跳一级太极. f(1) = 1; f(2) = 2; f(3) = 3