题目
输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。
返回的结果用数组存储。
样例
输入:[2, 3, 5]
返回:[5, 3, 2]

放到数组中反转

链表题一个比较简单的做法先把所有元素都放到数组中,然后直接在数组上操作
时间复杂度O(n),空间复杂度O(n)

  1. /**
  2. * Definition for singly-linked list.
  3. * struct ListNode {
  4. * int val;
  5. * ListNode *next;
  6. * ListNode(int x) : val(x), next(NULL) {}
  7. * };
  8. */
  9. class Solution {
  10. public:
  11. vector<int> printListReversingly(ListNode* head) {
  12. vector<int> res;
  13. while (head) {
  14. res.push_back(head->val);
  15. head = head->next;
  16. }
  17. reverse(res.begin(), res.end());
  18. return res;
  19. // return vector<int>(res.rbegin(), res.rend());
  20. }
  21. };