剑指offer——替换空格从尾到头打印链表

Posted orenn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer——替换空格从尾到头打印链表相关的知识,希望对你有一定的参考价值。

题目描述

输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
方法一:使用vector的insert函数可以在任意位置插入的特性。
/**
*  struct ListNode {
*        int val;
*        struct ListNode *next;
*        ListNode(int x) :
*              val(x), next(NULL) {
*        }
*  };
*/
class Solution {
public:
    vector<int> printListFromTailToHead(ListNode* head) {

        vector<int> result;
         while(head != NULL)
         {
                result.insert(result.begin(),head->val);
                head = head->next;
         }
        return result;
    }
};

方法二:使用堆

class Solution
{
public:
    vector<int> printListFromTailToHead(ListNode* head)
    {
      vector <int>  result;
      stack<int> arr;
      ListNode* p=head;
      while(p!=NULL)
      {
       arr.push(p->val);
       p=p->next;
      }
     int len=arr.size();
     for(int i=0;i<len;i++)
      {
       result.push_back(arr.top());  
       arr.pop();
     }
           return  result;
    }
 
};

方法三:两个vector,倒着取元素

class Solution {
public:
    vector<int> printListFromTailToHead(ListNode* head) {
        
        vector<int> array;
        vector<int> array2;
        ListNode* p;
        p=head;
        while(p!=NULL)
        {
            array.push_back(p->val);
            p=p->next;
        }
        for(int i=0;i<array.size();i++)
            {
                array2.push_back(array[array.size()-i-1]);
            }
        return array2;
    }
};

 

以上是关于剑指offer——替换空格从尾到头打印链表的主要内容,如果未能解决你的问题,请参考以下文章

从尾到头打印链表-剑指Offer

剑指 Offer 06. 从尾到头打印链表

《剑指Offer—— 06. 从尾到头打印链表》代码

剑指Offer_编程题_从尾到头打印链表

《剑指offer》— JavaScript从尾到头打印链表

剑指offer从尾到头打印链表python