vector反转reverse

来源:互联网 发布:linux 修改用户字符集 编辑:程序博客网 时间:2024/05/23 21:52

vector实现反转:

reverse(vector.begin(), vector.end());

输入一个链表,从尾到头打印链表每个节点的值:

#include <iostream>#include <vector>using namespace std;struct ListNode{    int val;    struct ListNode* next;    ListNode(int x)    : val(x), next(NULL)    {    } };class Solution{public:    vector<int> printListFromTailToHead(ListNode* head)    {        ListNode* p = head;        vector<int> tmp;                while(head!=NULL)        {            tmp.push_back(head->val);  //每次都插到尾部            head = head->next;        }                reverse(tmp.begin(), tmp.end());   //一句话实现vector反转                return tmp;    }};int main(){        return 0;}
当然本题也可以法二:

class Solution{public:vector<int> printListFromTailToHead(ListNode* head){ListNode* p = head;vector<int> tmp;while(head!=NULL){tmp.insert(tmp.begin(), head->val);  //每次插到vector头部,这样不用反转head = head->next;}return tmp;}};


0 0
原创粉丝点击