题目描述:输入一个链表,从尾到头打印链表每个节点的值
- 借助vector中insert()函数
vector<int> printListFromTailToHead(ListNode* head)
{
vector<int> value;
if (head != NULL)
{
value.insert(value.begin(), head->val);
while (head->next != NULL)
{
value.insert(value.begin(), head->next->val);
head = head->next;
}
}
return value;
}
- 借助stack
vector<int> printListFromTailToHead(ListNode* head)
{
vector<int> result;
if (head == NULL)
return result;
stack<ListNode*> reverse;
ListNode* node = head;
while (node != NULL) {
reverse.push(node);
node = node->next;
}
while (!reverse.empty()) {
node = reverse.top();
result.push_back(node->val);
reverse.pop();
}
return result;
}