题解 | #从尾到头打印链表#
从尾到头打印链表
https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035
class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { ListNode* p = head;//头节点赋值给指针变量P,对其初始化 int count = 0; while (p) { count++; p = p->next; //获取外界输入的链表的长度,将长度赋值给count } vector<int> b(count);//初始化链表b,长度与输入的链表长度一致 for (int j = 0; j < count; j++) { b[count - j - 1] = head->val; //链表b的索引是从尾到头,依次把输入的链表反转赋值给新链表b head = head->next; } return b;//输出链表b,实现反转链表 } };
先遍历链表,统计链表的节点个数。然后创建一个相同大小的vector,通过遍历链表将节点的值从尾到头存入vector中,最后返回这个vector