其他分享
首页 > 其他分享> > 【剑指Offer】3、从尾到头打印链表

【剑指Offer】3、从尾到头打印链表

作者:互联网

【剑指Offer】3、从尾到头打印链表

题目描述:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。

思路分析:比较简单,可以通过reverse函数可实现,但还是选择自己实现数组反转。后面也看到牛客网评论区的解答,有用栈和递归实现的,我还是选择比较常用的方法去实现。

注意事项:以下两行分别是链表指针给vector赋值操作和链表指针移动

temp_vec.push_back(p->val);
        	p=p->next;

代码实现

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

昨天没做题,今天需要抓紧了,希望这个疫情赶紧好起来吧,学生党在家效率实在是太低下了。

里皮不爱吃香菜 发布了5 篇原创文章 · 获赞 0 · 访问量 243 私信 关注

标签:到头,temp,Offer,链表,vector,vec,从尾
来源: https://blog.csdn.net/qq_41996818/article/details/104197798