【链表】从尾到头打印链表(逆置链表)【剑指offer】

从尾到头打印链表

http://www.nowcoder.com/questionTerminal/d0267f7f55b3412ba93bd35cfa8e8035

思路:
     1.反转链表(依次遍历链表,将插入到新链表的头部);
     2.遍历新链表,将结果保存到vector中返回。
/**
*  struct ListNode {
*        int val;
*        struct ListNode *next;
*        ListNode(int x) :
*              val(x), next(NULL) {
*        }
*  };
*/

class Solution {
public:
    vector<int> printListFromTailToHead(ListNode* head) {
        ListNode* new_head = NULL;
        vector<int> res;
        //反转链表:链表的头插法,每次都把头节点插入到新链表中作为头,并更新新链表的头节点
        while(head != NULL)
        {
            //备份head->next
            ListNode* next = head->next;
            //更新head->next
            head->next = new_head;
            //更新new_head
            new_head = head;
            //更新head
            head = next;
        }

        while(new_head != NULL)
        {
            res.push_back(new_head->val);
            new_head = new_head -> next;
        }
        return res;

    }
};
全部评论

相关推荐

门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务