zoukankan      html  css  js  c++  java
  • 剑指Offer编程题3——从尾到头打印链表

    题目描述

    输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
     

    题目解析

    方法1:建立两个vector,第一个用来存储正向访问的数据,第二个用来反向存储。

    /**
    *  struct ListNode {
    *        int val;
    *        struct ListNode *next;
    *        ListNode(int x) :
    *              val(x), next(NULL) {
    *        }
    *  };
    */
    class Solution {
    public:
        vector<int> printListFromTailToHead(ListNode* head) {
            vector<int> list;
            vector<int> result;
            while(head!=NULL)
            {
                list.push_back(head->val);
                head=head->next;
            }
            for(int i=list.size()-1;i>=0;i--)
                result.push_back(list[i]);
            return result;
        }
    };

    方法2:

    运用递归的方式:当遍历到最后一个再插入:显示超时错误

    /**
    *  struct ListNode {
    *        int val;
    *        struct ListNode *next;
    *        ListNode(int x) :
    *              val(x), next(NULL) {
    *        }
    *  };
    */
    class Solution {
    public:
        vector<int> result;
        vector<int> printListFromTailToHead(ListNode* head) {
            
            while(head!=NULL)
            {
                printListFromTailToHead(head->next);
                result.push_back(head->val);
            }
            return result;
        }
    };
  • 相关阅读:
    Python 入门 之 print带颜色输出
    memcache缓存
    PDO
    面向对象(二)
    面向对象(一)
    文件上传
    简单的权限管理
    当前时间与时期联动
    淡入淡出、滑动、及遍历
    留言板相关功能
  • 原文地址:https://www.cnblogs.com/wyx501/p/10670480.html
Copyright © 2011-2022 走看看