一、链表结构
链表结构由节点ListNode结构组成每个节点包含值val和指向下个节点的指针next两个元素。
可通过->调用节点的元素,例如
ListNode *head;
ListNode *temp;
int a;
temp = head->next;
a = head->val;
//题目中给出的链表结构代码
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
解法一、循环遍历
逐个提取节点中的val赋给vector容器,通过insert函数直接放到用于return的vector变量的第一个,达到反向的效果。
class Solution
{
public:
vector<int> printListFromTailToHead(ListNode* head)
{
vector<int> ans;
if(head!=nullptr)
{
while(head!=nullptr)
{
ans.insert(ans.begin(),head->val);
head = head->next;
}
}
return ans;
};
};