题解 | #从尾到头打印链表#

从尾到头打印链表

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

全部评论
运行时间3ms,占用内存420KB
点赞 回复 分享
发布于 2023-09-05 16:25 北京

相关推荐

点赞 评论 收藏
分享
在拧螺丝的代码渣渣很喜欢后仰跳投:卖课的,拉黑就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务