简单:
| 从尾到头打印链表 |
题目描述
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
//???!?!?!?!
int n=0;
auto p=head;
vector<int>vec;
while(p!=NULL)
{
n++;
p=p->next;
}
// vec.reserve(n+1); //有毒吧
vec.resize(n);
while(head!=NULL)
{
vec[--n]=head->val;
head=head->next; // oh my god !!!
}
return vec;
}
};
本文介绍了一种使用C++实现的算法,该算法能够将链表的元素从尾部到头部进行逆序打印。通过计算链表长度并利用vector数组,文章详细展示了如何遍历链表并将每个节点的值逆序存储,最终返回逆序的ArrayList。
&spm=1001.2101.3001.5002&articleId=87947825&d=1&t=3&u=46d5f5d73b13441191b306d32c70864f)

被折叠的 条评论
为什么被折叠?



