劍指offer——替換空格從尾到頭列印鏈表

來源:互聯網
上載者:User

標籤:subject   offer   ext   一個   替換空格   cto   方法   bsp   while   

題目描述輸入一個鏈表,按鏈表值從尾到頭的順序返回一個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——替換空格從尾到頭列印鏈表

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.