zoukankan      html  css  js  c++  java
  • 剑指offer3-从尾到头打印链表

    题目描述

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

    思路:因为涉及到反向,所以我们使用栈。

    将链表从头结点开始依次将val数值装入栈中,根据栈的后进先出原则,所以出栈的顺序就是链表从尾到头的顺序。

    代码:

    /**
    *  struct ListNode {
    *        int val;
    *        struct ListNode *next;
    *        ListNode(int x) :
    *              val(x), next(NULL) {
    *        }
    *  };
    */
    class Solution {
    public:
        vector<int> printListFromTailToHead(ListNode* head) {
            vector<int> array;
            ListNode* p = head;
            stack<int> S;
            while(p!=NULL)
            {
                S.push(p->val);
                p = p->next;
            }
            int len = S.size();
            for(int i=0;i<len;i++)
            {
                int temp = S.top();
                array.push_back(temp);
                S.pop();
            }
            
            return array;
            
        }
    };
  • 相关阅读:
    多态
    封装,继承,多态
    基本类型和引用类型的区别
    第七天 面向对象
    什么是Java线程池
    游戏内核架构
    放松
    静不下来心写代码
    速度和正确率
    理顺思路
  • 原文地址:https://www.cnblogs.com/loyolh/p/12859568.html
Copyright © 2011-2022 走看看