剑指offer-逆序打印链表

来源:互联网 发布:sql字符串拼接函数 编辑:程序博客网 时间:2024/05/21 09:58

一、问题描述

二、思路

采用头插法先逆置链表,然后依次遍历链表节点。

注意考虑链表的边界条件。

三、代码

/***  struct ListNode {*        int val;*        struct ListNode *next;*        ListNode(int x) :*              val(x), next(NULL) {*        }*  };*/class Solution {public:    vector<int> printListFromTailToHead(struct ListNode* head) {        vector<int> vec;        if(head == NULL)            return vec;        struct ListNode *cur = head;        struct ListNode *prev = NULL;struct ListNode *phead = NULL;        if(head-> next == NULL){        vec.push_back(head -> val);return vec;        }        while(cur){            struct ListNode *nex = cur -> next;            cur -> next = prev;            if(nex == NULL) break;            prev = cur;            cur = nex;        }        phead = cur;        while(cur){            vec.push_back(cur -> val);            cur = cur -> next;        }        return vec;    }};


0 0
原创粉丝点击